You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP NumberFormatter小数位数设置失效问题及解决方法

PHP NumberFormatter强制统一隐藏所有货币小数位的解决办法

问题现象

使用PHP的NumberFormatter时,设置setAttribute(NumberFormatter::FRACTION_DIGITS, 0)或NumberFormatter::MAX_FRACTION_DIGITS, 0后,只有与当前地区匹配的货币会隐藏小数部分,切换成其他货币时,该设置会被忽略,小数位依然显示。

解决方案

要让所有货币都强制应用小数位为0的规则,必须先显式指定目标货币,再设置小数位数属性。具体操作是在调用setAttribute设置小数位之前,先执行:

$fmt->setTextAttribute(NumberFormatter::CURRENCY_CODE, $currency);

其中$currency是你要格式化的目标货币代码(比如'USD'、'EUR'等)。

内容的提问来源于stack exchange,提问作者kobliha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:40:54