2012-10-26 93 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