2009-12-31 116 views
0

我有一个变量$ totalprice,数字为1,072.00。将字符串转换为数字时出现问题

如果我使用int($ totalprice)或number_format($ totalprice),则它输出1.00。

我该如何解决这个问题?我想要1072.00

回答

2
$totalprice = (float)str_replace(',', '', $totalprice) 

这将为您带来一个正常的浮点型数字表示。然后,您可以将number_format函数应用于该函数以获取所需的输出。

也许你应该重新考虑你对数字的处理。首先如何获得格式1,072.00?在输出到浏览器之前,您不应该对其进行格式设置,因此该数字应始终为1072.00格式。

+0

谢谢。我会看看它。 – shin 2009-12-31 12:17:57

1

您遇到的问题是有关语言环境的问题。为了避免关于货币格式的问题,我建议您使用

string money_format (string $format , float $number) 

通过使用此功能,您可以根据所需格式格式化数字。你可以阅读更多有关此功能,在这里使用的格式类型:money_format

+0

+1:提及语言环境。 – 2009-12-31 13:14:27

0

这是不是一个错误,因为你的号码是从留到第一个无效字符解析(在

这样1,072.00被真正的,072.00,只是加粗节当您尝试将字符串转换为数字时会被解析。