number_format 中的 number_format 不起作用
Posted
技术标签:
【中文标题】number_format 中的 number_format 不起作用【英文标题】:number_format in a number_format doesn't work 【发布时间】:2011-05-18 13:12:24 【问题描述】:我在 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 *//
我该如何解决这个问题?
问候,
弗兰克
【问题讨论】:
【参考方案1】:保持数字作为数字。在输出阶段之前不要格式化。
【讨论】:
【参考方案2】:永远不要对您要计算的数字使用number_format
。
101,25
不是 PHP 中的有效数字。
使用原始值直到输出数字。 然后,做一个number_format()
。
【讨论】:
【参考方案3】:使用:
$new_price = number_format($price * 0.75 * $count_products,2,',','');
因为 $price_sale
是 string
并且在类型转换之后可能不会具有您正在计算的值。 (见:http://php.net/manual/de/language.types.type-juggling.php)
【讨论】:
好的,谢谢!我太傻了。不知道 number_format 终于要输出了。以上是关于number_format 中的 number_format 不起作用的主要内容,如果未能解决你的问题,请参考以下文章