繁体   English   中英

在点后四舍五入到两位有效数字(javascript)

[英]Rounding to two significant digits after the dot (javascript)

帮助简洁地写入 Javascript。 已经检查过的数字(9 个字符;0 < Foo < 100)需要在点后四舍五入到两个重要数字。 即点后的所有空位(digit='0')都必须保存,后面的两位也必须保存。 四舍五入 rest(而不是丢弃)。 如果有 integer 零件 - 只需四舍五入即可。

0.123456 -> 0.12
0.023456 -> 0.023
0.003456 -> 0.0035
0.000456 -> 0.00046
21.000456 -> 21
21.019999 -> 21.2

 console.log(2.23452346.toFixed(2))

你只想要 toFixed 函数

如果您不想要字符串输出,请使用:

Number(2.2351.toFixed(2))

现在这个问题又被打开了——这是一个真正令人讨厌的问题,问题可以很容易地被关闭,但很少再被打开——我可以发布我之前的评论作为答案:

有效数字舍入可以用

 const arr=[1234567,0.123456,0.023456,0.003456,0.000456,21.000456,21.019999]; function sigdig(v,dig){ const f=10**(-Math.ceil(Math.log10(v))+dig); return Math.round(v*f)/f; } arr.forEach(v=>console.log(v,sigdig(v,2))); console.log("or with 3 digits:"); arr.forEach(v=>console.log(v,sigdig(v,3)));

但这不适用于您要求 1 到 100 之间的数字最多有两个小数位。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM