Мне нужно отобразить сумму денег с символом минус перед $
подписать, если это отрицательное число.
Например.:
$sum="-120";
echo "$".$sum;
Выход будет:
$-120
Я хочу, чтобы вывод был:
-$120
Я мог бы сделать это с регулярное выражение/str_replace/ etc, но мне интересно, есть ли встроенная функция PHP для этого. Может быть, какой-то вариант в money_format
или что-то подобное.
Благодарю.
money_format()
будет делать это, но вам нужно использовать setlocale()
Сначала убедитесь, что символ валюты установлен правильно:
setlocale(LC_MONETARY, 'en_US');
echo money_format('%+n', -123.45); // -$123.45
Рекомендации:
если intl установлен в вашем php config, вы можете сделать это тоже:
$fmt = new NumberFormatter('en_US', NumberFormatter::CURRENCY);
echo $fmt->formatCurrency($sum, "USD");