1

UNIXエポックで時間を保存しているJSONデータベースからデータをプルしていますが、何らかの理由で、プルするときに数値が変動しています。これは私がこれまで対処する必要がなかったものです。つまり、基本的には、現在の時刻と比較できるように、番号をエポックタイムに戻す必要があるため、のような数値1293083730000が表示されます。1.293085408E+12どんな助けでも素晴らしいでしょう。

4

2 に答える 2

3

これは工学的記数法であり、大きな数を書くための便利な方法です。数値はまだ整数です。

問題は、PHPの内部型が小さすぎて数値を小数で表すことができないことです。次の例を参照してください。

<?
$i = 1293083730000;
echo "\$i is $i\n\n";
echo sprintf("\$i is %d\n\n", $i);
echo sprintf("\$i is %e\n\n", $i);
?>

これは以下を出力します:

$i is 1293083730000

$i is 298573904

$i is 1.293084e+12

64ビットプラットフォームが必要であるか、数値を文字列または浮動小数点値として処理する必要があります。詳細については、整数に関するPHPのドキュメントを参照してください。

http://php.net/manual/en/language.types.integer.php

于 2010-12-23T06:12:27.057 に答える
2

php.ini構成ファイルには、値があります'precision'
浮動小数点数に表示される桁数を定義するだけです。

PHPマニュアルの詳細

精度の値を増やして、再試行できます。

于 2010-12-23T08:35:06.377 に答える