JavaScript实现数字带逗号分隔并保留两位小数
解决方案:格式化数字为带逗号分隔符并保留两位小数
你之前使用的maximumSignificantDigits是用于控制有效数字的,而非小数位数,所以只会输出整数部分,无法强制保留两位小数。要实现需求,需要调整Intl.NumberFormat的配置项:
使用minimumFractionDigits和maximumFractionDigits,将两者都设置为2,配合en-IN区域设置来获取逗号分隔符,就能强制所有数字显示两位小数。
修正后的代码
const number = 50000; console.log(new Intl.NumberFormat('en-IN', { minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(number)); // 输出: 50,000.00
更多测试示例
// 带有一位小数的数字 const number2 = 50000.5; console.log(new Intl.NumberFormat('en-IN', { minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(number2)); // 输出: 50,000.50 // 带有多位小数的数字(自动四舍五入) const number3 = 1234.567; console.log(new Intl.NumberFormat('en-IN', { minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(number3)); // 输出: 1,234.57
这两个配置项配合使用,既能保证始终显示两位小数,又能保留逗号分隔的千位格式,同时对超出两位的小数自动进行四舍五入处理。
内容的提问来源于stack exchange,提问作者Amitabh Anand
相关产品推荐
相关产品推荐

