Problème de Modulo e division en PHP
MakubeX
-
P@t@ch0n Messages postés 603 Statut Membre -
P@t@ch0n Messages postés 603 Statut Membre -
Bonjour,
je dois actuelement faire une page web dans laquel je fais des calcule de temps avec timestamp.
les valeurs sont donc des temps époque depuis le 1 sep 1970.
Le souci c'est que quand je met
<?php
echo " 123814741090 / 8640000 " .
?>
La page me retourne 14330.4098484 alors que ma calculette me donne 14330,40985
D'ou vient le problème ?
Merci de votre réponse
je dois actuelement faire une page web dans laquel je fais des calcule de temps avec timestamp.
les valeurs sont donc des temps époque depuis le 1 sep 1970.
Le souci c'est que quand je met
<?php
echo " 123814741090 / 8640000 " .
?>
La page me retourne 14330.4098484 alors que ma calculette me donne 14330,40985
D'ou vient le problème ?
Merci de votre réponse
A voir également:
- Problème de Modulo e division en PHP
- É majuscule - Guide
- Easy php - Télécharger - Divers Web & Internet
- Modulo c++ - Forum C++
- Diviser une photo en 3 instagram - Guide
- E exposant clavier ✓ - Forum Windows
2 réponses
Y'a pas de problème là-dedans...
Ta calculatrice a arrondi la valeur.
La calculatrice de linux retourne 14330,40984838
Ta calculatrice a arrondi la valeur.
La calculatrice de linux retourne 14330,40984838
En effet, le résultat du modulo est erroné, cela vient du fait que le nombre est trop grand pour etre traité de manière standard.
Si par chance la lib bcmath est dispo sur ton serveur, alors c'est ce qu'il te faut.
https://www.php.net/manual/fr/ref.bc.php
Si par chance la lib bcmath est dispo sur ton serveur, alors c'est ce qu'il te faut.
https://www.php.net/manual/fr/ref.bc.php
avec se temps époque j'utilisé la fonction
<?php
$temps_passage = 123814741072;
$nbre_centiemes = $temps_passage%100;
$nbre_secondes = ($temps_passage - $nbre_centiemes) / 100;
$nbre_minutes = $nbre_secondes / 60;
$nbre_minutes = $nbre_minutes%60;
$nbre_heures = $nbre_secondes / 3600;
$nbre_heures = $nbre_heures%60;
$reste_secondes = $nbre_secondes%60;
echo "<br>";
echo $nbre_heures."h ".$nbre_minutes." mn ".$reste_secondes." sec ".$nbre_centiemes;
?>
Et la il me renvoi 9h 50 mn 11 sec -12 un peu embetant la valeur de centieme en négatif
Sinon existe t-il une fonction qui me donne directement avec 123814741090 la valeur de temps sans la date ?
Merci de votre réponse