PHP - number_format 因数学运算失败

Posted

技术标签:

【中文标题】PHP - number_format 因数学运算失败【英文标题】:PHP - number_format fails with math operations 【发布时间】:2013-09-28 17:11:40 【问题描述】:

php 函数 number_format 用于数学运算时会产生奇怪的结果。

运行这个...

echo number_format(32545000 - 24343400) . '<br>';
echo number_format(32545000) - number_format(24343400);

为什么第二个答案是“8”而不是正确答案?

【问题讨论】:

您不想将- 与字符串一起使用。 :) 【参考方案1】:

number_format(32545000) 返回一个字符串:32,545,000

number_format(24343400) 返回一个字符串:24,343,400

字符串被转换为int,你得到:

32 - 24 = 8

【讨论】:

好的。但是为什么这不起作用:echo intval(number_format(32545000)) - intval(number_format(24343400)); @gtilflm 这段代码给出了完全相同的结果。 number_format 将数字格式化为便于打印的格式。为什么要减去字符串而不是 32545000 - 24343400

以上是关于PHP - number_format 因数学运算失败的主要内容,如果未能解决你的问题,请参考以下文章

php 的 number_format使用

停止为 PHP 提供错误 number_format

PHP - number_format 浮点数 [重复]

PHP number_format 显示不正确

PHP 使用 number_format 并正确显示小数点

php number_format()函数 语法