从字符串转换为数字的问题

时间:2009-12-31 12:11:00

标签: php

我有一个变量$ totalprice,数字1,072.00。

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

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

3 个答案:

答案 0 :(得分:2)

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

这将为您提供数字的正常浮点表示。然后,您可以将number_format函数应用于该函数以获得所需的输出。

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

答案 1 :(得分:1)

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

string money_format ( string $format , float $number )

通过使用此功能,您可以根据所需格式格式化数字。您可以在此处详细了解此功能以及要使用的格式类型:money_format

答案 2 :(得分:0)

这不是一个错误,因为您的号码从左到右解析为第一个无效字符(

所以1,072.00实际上是 1 ,072.00,当您尝试将字符串转换为数字时,只解析粗体部分。