5

我需要从294867828828426241PHP 中的数字中减去 1。但是,当我这样做时

$a = 294867828828426241 - 1;

我收到浮点数2.94867828828E+17。其中,当解决时number_format()给出原始数字。

请问我怎样才能得到正确的值?

这需要能够处理不同的数字。

4

1 回答 1

7

如果你有BCMath扩展,你可以使用这个:

$a = bcsub('294867828828426241', '1');

echo $a; // 294867828828426240

但是,在我的 64 位服务器上测试您的代码应该可以正常工作。我不确定,但您可以检查一下增加您的精度指令php.ini是否会产生任何影响。我的设置是14。

于 2013-01-28T22:57:52.373 回答