2012-10-26 90 views
0

麻煩與我在這一行的麻煩number_format PHP

print "PRINT for row[EUROS]: " .$row['EUROS'] . "<BR>"; 
print "PRINT for the format: " .number_format($row['EUROS'], 2, ',', '') ."<BR>"; 

數爲24.7,但它表明我24.00。我以爲number_format會幫我分離器,但它不工作...

The mistake

如何採取十進制值的任何想法?

+0

您是否在number_format之前打印$ row ['EUROS']以查看其值? –

+0

是的,它是24,7。我在編輯上打印頁面。 – Sonhja

+0

'echo number_format(24.7,2,',','')'output'24,70'您確定輸入變量嗎? –

回答

5

使用str_replace(',', '.', $row['EUROS'])將點替換爲逗號,然後使用number_format。乾杯!

number_format中的第三個參數是dec_point,它將輸出字符串中的小數點分開,但不在輸入中。

4

"24,7"不是數字,它是一個帶逗號的字符串,它不是格式正確的數字。 PHP可以從中提取的最佳含義是24,剩下的就是垃圾。

沒有包含逗號的數字。

+0

問題是我從數據庫中以字符串格式導入數以千計的數字,顯然,手動更改','並不是一個好主意...... – Sonhja

+0

然後用逗號自動替換逗號。事實是,數字在PHP中沒有逗號。 – deceze