我有一个变量$ totalprice,数字1,072.00。
如果我使用int($ totalprice)或number_format($ totalprice),则输出1.00。
我该如何解决这个问题?我想要1072.00
答案 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,当您尝试将字符串转换为数字时,只解析粗体部分。