2

我目前正在用 PHP 编写一份报告,有时必须显示负货币金额。所述货币金额存储在数据库中,如“-44.00”。理想情况下,该数字将在报告中输出为“($44.00)”。

我知道我可以编写一些半复杂的函数来检测数字是否为负并手动插入括号,但我想知道在我重新发明轮子之前是否有一些方便的 PHP 函数可以为我做到这一点。我四处搜寻并没有找到任何似乎可以完成这项任务的东西。我知道money_format,但我没有看到任何方法来做否定/括号部分。请记住,无论数字是负数还是正数,代码都必须起作用。

4

3 回答 3

7

http://www.php.net/manual/en/function.money-format.php

echo money_format('%(n', '-44.00');
于 2009-10-26T16:21:37.000 回答
1
function format_currency($amount) {
    if($amount < 0)
        return "($".$amount.")";

    else return "$".$amount;
}
于 2009-10-26T16:21:59.337 回答
0

嗯...但是当它是负数时仍然会输出减号。我会将该功能更改为:

function accting_format($amount) {
    if ($amount < 0) return '($' . abs($amount) . ')';
    return '$' . $amount;
}

注意金额周围的 abs() 是括号已经输出。

于 2009-10-28T18:19:40.310 回答