6

我有一个简单的问题。

我有这个7310093341976450848需要回显的号码。但是当我回显时,它给了我这个7.3100933419765E+18

我试过

回声(字符串)$数据;
将其转换为字符串然后打印它,但它仍然给出相同的结果。

该数字最初是类型double

4

2 回答 2

5
I've this 7310093341976450848 number which I needed to echo.
The number is initially of type double.

由于 PHP 中使用的浮点表示,一旦它被存储为双精度,您就不能再打印出那个确切的数字了。

这是打印值的(许多)方法之一:

printf("%.0f", $data);
echo number_format($data, 0, '', '');

如果您不想丢失精度,请将其存储为字符串,或使用任意精度库之一:BC Math / GMP

于 2012-07-07T18:02:55.067 回答
0

使用number_format()。就是这样:

echo number_format( $data, 0, '', '' );
于 2012-07-07T17:58:16.357 回答