Intl.NumberFormat 0或2个小数位
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Intl.NumberFormat 0或2个小数位相关的知识,希望对你有一定的参考价值。
我的格式化程序看起来像这样
const formatter = new Intl.NumberFormat('en-NZ', {
style: 'currency',
currency: 'NZD',
minimumFractionDigits: 2,
});
如何调整此值以使整数具有0小数位数
formatter.format(4); // want output "$4"
分数总是显示两位数?
formatter.format(4.1); // want output "$4.10"
答案
你可以尝试这样的事情:
formatter.format(amount).replace(/D00$/, '');
另一答案
我将实现两种不同的格式,并使用模%
验证它
4 % 1 == 0
4.1 % 1 == .1
希望这可以帮助 :)
const formatter = new Intl.NumberFormat('en-NZ', {
style: 'currency',
currency: 'NZD',
minimumFractionDigits: 2,
});
const fraction = new Intl.NumberFormat('en-NZ', {
style: 'currency',
currency: 'NZD',
minimumFractionDigits: 0,
});
let number = 4.1;
if(4%1 == 0)
console.log(formatter.format(number));
else
console.log(fraction.format(number));
number = 4;
if(4%1 == 0)
console.log(formatter.format(number));
else
console.log(fraction.format(number));
以上是关于Intl.NumberFormat 0或2个小数位的主要内容,如果未能解决你的问题,请参考以下文章
Intl.NumberFormat.formatToParts 不是函数
Intl.NumberFormat#format 最大整数值
如何将 Intl.NumberFormat 与本机反应一起使用?