PHP中如何将以分为单位的整数转换为对应美元货币格式
解决方案
问题根源是API返回的金额为美元最小货币单位(美分)的整数值,25000实际代表25000美分,只需要先将数值除以100转换为美元单位后再做格式化即可。
正确代码如下:
$amount = 25000; // 美分转美元单位 $convertedAmount = $amount / 100; $formatter = new NumberFormatter('en', NumberFormatter::CURRENCY); echo $formatter->formatCurrency($convertedAmount, 'USD');
执行后即可得到你需要的$250.00结果。
补充说明
- 用整数存储最小货币单位是支付类API的通用设计,可以避免浮点数运算带来的精度误差
- 处理其他货币时只需要对应调整换算比例即可:比如人民币如果返回单位为分也除以100,日元这类没有辅币单位的则不需要换算。
内容的提问来源于stack exchange,提问作者Giulia
相关产品推荐
相关产品推荐

