1.000241703257e+14如何在PHP中转换它,它应该是:100002417032566


1.0000241703257e+14 how to convert it in PHP, it was supposed to be: 100002417032566

可能重复:
PHP整数问题

1.000241703257e+14如何在PHP中转换它,它应该是:100002417032566

我用e+14得到这个值,我该如何使PHP将"1.000241703257e+14"翻译为"100002417032566"以及Javascript。

特别是最后一部分。

谢谢!

您已经达到了PHP整数范围的极限(通常是32位带符号(。当这种情况发生时,PHP使用浮点类型来表示数字,而浮点类型没有完美的精度,你会得到这种类型的结果(在你的情况下,数字是4(。

对此您无法直接采取任何措施

您的选择是:

  1. 不要将这些值作为数字使用,而只能作为字符串使用(大多数情况下这是不实用的(
  2. 使用大整数库,如BCMath或GMP
  3. 小心地重写代码的关键部分,使其在不使用bigint的情况下工作

当然,不用说,在最后一个场景中,你需要非常具体地说明你的需求是什么。这些数字能有多大?您将对它们执行哪些操作?

我认为您可以使用number_format((

如果超过了PHP的最大整数限制,您可能不得不使用像这样的大整数库。如果实际数字对你来说不重要(例如,如果它是Facebook用户ID等(,只需将其读取为字符串,而不是int。