toFixed() 和 toPrecision() 之间的区别?
2022-08-30 02:44:08
我是JavaScript的新手,刚刚发现并四舍五入数字。但是,我无法弄清楚两者之间的区别是什么。toFixed()
toPrecision()
和 有什么区别?number.toFixed()
number.toPrecision()
我是JavaScript的新手,刚刚发现并四舍五入数字。但是,我无法弄清楚两者之间的区别是什么。toFixed()
toPrecision()
和 有什么区别?number.toFixed()
number.toPrecision()
toFixed(n)
提供小数点后的长度; 提供总长度。n
toPrecision(x)
x
在w3schools的参考:toFixed和toPrecision
编辑:
我不久前了解到w3schools并不完全是最好的来源,但我忘记了这个答案,直到我看到kzh的,呃,“热情”的评论。以下是来自 Mozilla Doc Center 的toFixed()
和toPrecision()
的其他引用。幸运的是,对于我们所有人来说,在这种情况下,MDC和w3schools彼此同意。
为了完整起见,我应该提到这相当于并且只返回没有格式的原始数字。toFixed()
toFixed(0)
toPrecision()
我相信前者给你一个固定的小数位数,而后者给你一个固定数量的有效位数。
Math.PI.toFixed(2); // "3.14"
Math.PI.toPrecision(2); // "3.1"
此外,如果数字中的整数位数多于指定的精度,将产生科学记数法。toPrecision
(Math.PI * 10).toPrecision(2); // "31"
(Math.PI * 100).toPrecision(2); // "3.1e+2"
编辑:哦,如果你是JavaScript的新手,我可以强烈推荐Douglas Crockford的“JavaScript:The Good Parts”一书。