PHP5.3 number_format返回NaN

时间:2015-10-23 03:10:19

标签: php number-formatting nan php-5.3

我在PHP5.5中开发了这个代码没有任何问题。但是,当相同的代码移动到PHP5.3中的另一个服务器时,number_format()不返回预期值,但返回“nan”

这是我的代码:

number_format($num, 2, ".", ",");

从数据库$num

的数据库中检索变量decimal(25,8)

令我困惑的是,它适用于某些数字,但不适用于其他数字。例如:

$num = 1800.00000000
number_format($num, 2, ".", ",") ==> returns "nan"

$num = 1000.00000000
number_format($num, 2, ".", ",") ==> returns "1,000.00"

这是PHP 5.3中的常见错误吗?它有什么解决方案吗?

我有谷歌,但到目前为止还没有适用于我的案例的解决方案。 float或floatval()的类型转换也无效。

更新

由于在DateTime::diff()行之前运行的number_format,会出现此问题。

不知何故,这个函数在PHP5.3中引起了问题,但在PHP5.5中没有引起问题

通过使用strtotime()来计算2个日期之间的差异来改变函数后,一切正常。

虽然,说实话,我仍然不知道为什么问题首先发生。如果有人知道这一点,请与我分享。谢谢!

0 个答案:

没有答案