2013-09-28 86 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