Javascript 使用.toFixed()仅在需要时显示3位小数
如何使用.toFixed()生成此结果Javascript 使用.toFixed()仅在需要时显示3位小数,javascript,Javascript,如何使用.toFixed()生成此结果 number display ------ ------- 1 1 1.23 1.23 1.23456 1.235 我一直在使用.toFixed(3)。但这是一种展示 number display ------ ------- 1 1.000 1.23 1.230 1.23456 1.235 您可以尝试使用: Math.round(yournum *
number display
------ -------
1 1
1.23 1.23
1.23456 1.235
我一直在使用.toFixed(3)。但这是一种展示
number display
------ -------
1 1.000
1.23 1.230
1.23456 1.235
您可以尝试使用:
Math.round(yournum * 1000) / 1000
或者您可以尝试:
+(Math.round(num + "e+3") + "e-3")
您可以尝试使用:
Math.round(yournum * 1000) / 1000
或者您可以尝试:
+(Math.round(num + "e+3") + "e-3")
您可以删除不需要的零或点
console.log([1,1.23,1.23456]。映射(v=>v.toFixed(3)。替换(/\.?0+$/,“”))
您可以删除不需要的零或点
console.log([1,1.23,1.23456].map(v=>v.toFixed(3).replace(/\.?0+$/,'')
另一个选项是使用而不是toFixed
console.log(新的Intl.NumberFormat('en-US',{maximumsignifictdigits:4}).format(1));
log(新的Intl.NumberFormat('en-US',{maximumsignifictdigits:4}).format(1.23));
log(新的Intl.NumberFormat('en-US',{maximumsignifictdigits:4}).format(1.23456))代码>另一个选项是使用而不是toFixed
console.log(新的Intl.NumberFormat('en-US',{maximumsignifictdigits:4}).format(1));
log(新的Intl.NumberFormat('en-US',{maximumsignifictdigits:4}).format(1.23));
log(新的Intl.NumberFormat('en-US',{maximumsignifictdigits:4}).format(1.23456))
您可以创建一个简单的函数来检查小数位数,然后仅在小数位数达到3时运行toFixed
像这样的东西会有用的
这里有一个片段
让dP=n=>{
if(n.toString().includes('.'))返回n.toString().split('.')[1].length
};
[1,1.23,1.23456].forEach(n=>{
console.log(dP(n)>=3?n.toFixed(3):n)
})
您可以制作一个简单的函数来检查小数位数,然后仅在小数位数达到3时运行toFixed
像这样的东西会有用的
这里有一个片段
让dP=n=>{
if(n.toString().includes('.'))返回n.toString().split('.')[1].length
};
[1,1.23,1.23456].forEach(n=>{
console.log(dP(n)>=3?n.toFixed(3):n)
})