Есть ли функция 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() вокруг суммы, если скобки уже были выведены.