我正在尝试格式化不带小数点或逗号的数字,我尝试了number_format()和money_format(),但似乎无法获得所需的结果。
number_format($ item-> amount,2)
结果:14,995.00
money_format(“%i”,$ item->金额)
结果:14,995.00
我想正确格式化以下数字。
14995必须为£1,499.50
6795必须为£67.95
获得以上结果的最佳方法是什么?
setlocale(LC_MONETARY, 'en_GB.UTF-8'); // cchange if needed
echo money_format('%n', 6795);
返回
£6,795.00
对我来说,这样应该行得通。正如我在评论中提到的那样,您可能无法同时将代码14995显示为1,499.50(除以10)和6795显示为67.95(除以100),所以我建议相应地重构代码。
使用brick/money(免责声明:我是作者):
use Brick\Money\Money;
$money = Money::ofMinor(6795, 'GBP');
echo $money->formatTo('en_GB'); // £67.95