我应该使用`.toPrecision()`而不是舍入&幂?

时间:2012-12-25 00:44:48

标签: javascript numbers rounding

我的意思是,

我应该使用这个干净的代码......

var rounded=num.toFixed(n);

...而不是这个丑陋的代码...

var pow10=Math.pow(10,n),
    rounded=''+Math.round(num*pow10)/pow10;

即使第二个更快? (http://jsperf.com/round-numbers-number-decimals/2

为什么第一个这么慢?浏览器无法为第一个代码实现第二个代码吗?

1 个答案:

答案 0 :(得分:1)

除非你有一个特定的用例需要大量迭代的速度,否则我会坚持.toFixed(),因为它简单易懂,易于理解你在做什么。但是,如果你必须优化速度,至少你知道你可以从哪里开始!