2013-09-28 44 views
2

PHP函数number_format在数学运算中使用时会产生奇怪的结果。PHP - number_format与数学运算失败

运行此...

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

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

+0

你不想使用带字符串的'-'。 :) – alex

回答

5

number_format(32545000)返回一个字符串:32545000

number_format(24343400)返回一个字符串:24343400

中的字符串转换成int,你会得到:

32 - 24 = 8

+0

好的。但为什么不能这样工作:'echo intval(number_format(32545000)) - intval(number_format(24343400));' – gtilflm

+0

@gtilflm这段代码给出了完全相同的结果。 'number_format'将数字格式化为可打印的格式。你为什么要减去字符串而不是做'32545000 - 24343400'? – pNre