簡単な質問があります。
エコーする必要があるこの7310093341976450848
番号がありますが、エコーするとこれが得られます7.3100933419765E+18
。
私は試した
エコー (文字列)$データ;それを文字列にキャストしてから出力しますが、それでも同じ結果が得られます。
数値は、最初はタイプdouble
です。
簡単な質問があります。
エコーする必要があるこの7310093341976450848
番号がありますが、エコーするとこれが得られます7.3100933419765E+18
。
私は試した
エコー (文字列)$データ;それを文字列にキャストしてから出力しますが、それでも同じ結果が得られます。
数値は、最初はタイプdouble
です。
I've this 7310093341976450848 number which I needed to echo. The number is initially of type double.
PHP で使用される浮動小数点表現のため、double として格納されると、その正確な数値を出力することはできなくなります。
これは、値を出力する (多くの) 方法の 1 つです。
printf("%.0f", $data);
echo number_format($data, 0, '', '');
精度を失いたくない場合は、文字列として保存するか、任意精度ライブラリの 1 つを使用します: BC Math / GMP。
number_format()を使用します。方法は次のとおりです。
echo number_format( $data, 0, '', '' );