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_salestring 并且在类型转换之后可能不会具有您正在计算的值。 (见:http://php.net/manual/de/language.types.type-juggling.php)

【讨论】:

好的,谢谢!我太傻了。不知道 number_format 终于要输出了。

以上是关于number_format 中的 number_format 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

php中的number_format [关闭]

number_format 中的 PHP 错误

十进制的number_format问题[关闭]

php number_format用法(代码实例)

php number_format,从存储过程中隐藏空值

php 的 number_format使用