Problème de Modulo e division en PHP

MakubeX -  
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
A voir également:

2 réponses

P@t@ch0n Messages postés 603 Statut Membre 85
 
Y'a pas de problème là-dedans...

Ta calculatrice a arrondi la valeur.
La calculatrice de linux retourne 14330,40984838
0
MakubeX
 
Merci de ta réponse autre petite question

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
0
P@t@ch0n Messages postés 603 Statut Membre 85
 
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
0