格式化显示的钱:“x” - > “×.00”?

时间:2012-02-20 18:39:41

标签: php

我使用浮动格式在MySQL中存储钱,但.00被删除,因为它们没有多大意义,但我想使用PHP以正确的货币格式向用户显示它们。

我写了一个功能,检查货币字段是否有.期,否则添加.00

但我个人不喜欢这个功能所以我正在寻找一个可以做同样工作的内置功能:

function formatMoney($price){
    if (strpos($price,".") > -1)
        return $price;
    else
        return $price . ".00";
}

编辑:对于那些以某种方式解决了我的问题的人应该知道money_format在Windows机器上不起作用,因为下面将从PHP手册中解释:

  

函数money_format()仅在系统具有strfmon时定义   能力。例如,Windows没有,所以money_format()就是   在Windows中未定义。

因此,您应该使用number_format代替它。你可以看到我如何解决这个问题的答案。

3 个答案:

答案 0 :(得分:5)

为什么不使用money_format

示例:

$price = 43;
money_format('%.2n', $price);

答案 1 :(得分:3)

似乎money_format在Windows机器上不起作用然后我必须使用number_format($price,2)并且它工作得非常完美。

PHP手册中的注释:

  

仅在系统具有strfmon时才定义函数money_format()   能力。例如,Windows没有,所以money_format()就是   在Windows中未定义。

答案 2 :(得分:0)

使用money_formatsprintf