number_format中的number_format不起作用

时间:2011-05-18 13:12:25

标签: php number-formatting

我在使用php中的一个小代码时遇到了麻烦:

$price = 135;
$price_sale = number_format($price * 0.75,2,',','');
//*returns 101,25 *//
$count_products = 3;
$new_price = number_format($price_sale * $count_products,2,',','');
//* returns 303,00 and not 303,75 *//

如何解决此问题?

此致

3 个答案:

答案 0 :(得分:8)

将数字保留为数字。在输出阶段之前不要格式化。

答案 1 :(得分:5)

永远不要对要进行计算的数字执行number_format

101,25不是PHP中的有效数字。

使用原始值直到输出数字。 然后,执行number_format()

答案 2 :(得分:2)

使用:

$new_price = number_format($price * 0.75 * $count_products,2,',','');

因为$price_salestring,并且在类型转换后可能不会计算您正在计算的值。 (见:http://php.net/manual/de/language.types.type-juggling.php