Javascript 使用.toFixed()仅在需要时显示3位小数

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 *

如何使用.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 * 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)
})