Есть ли функция PHP для форматирования суммы валюты в бухгалтерском формате?

В настоящее время я пишу отчет на PHP, который иногда должен отображать отрицательные суммы в валюте. Указанные суммы в валюте хранятся в базе данных как "-44.00". В идеале это число должно быть выведено как "($44,00)" в отчете.

Я знаю, что могу написать некоторую полусложную функцию, чтобы определить, является ли число отрицательным, и вручную вставить скобки, но мне было интересно, есть ли какая-нибудь удобная функция PHP, которая может сделать это для меня, прежде чем я заново изобрету колесо. Я искал вокруг и не нашел ничего, что, кажется, делает эту точную задачу. Я знаю о money_format, но я не вижу способа выполнить отрицательную / круглую часть. Имейте в виду, что код должен работать независимо от того, является ли число отрицательным или положительным.

3 ответа

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

echo money_format('%(n', '-44.00');
function format_currency($amount) {
    if($amount < 0)
        return "($".$amount.")";

    else return "$".$amount;
}

Хм вроде... но это все равно выведет знак минус, когда он отрицательный. Я бы изменил эту функцию на что-то вроде:

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

Обратите внимание на abs() вокруг суммы, если скобки уже были выведены.

Другие вопросы по тегам