2014-02-13 52 views
0

将这个脚本的Javascript数学效率四舍五入

var a = 1/3; 
var b = 2/5; 
var c = a+b; 

跑得比这个脚本

var a = Math.round(100*(1/3))/100; 
var b = Math.round(100*(2/5))/100; 
var c = a+b; 

或者说更快或更慢,有没有办法让JavaScript来的公式计算结果为只有在一定的水平的准确性。

var a = Math.onlySolveThisUpTo2DecimalPlaces(1/3); //0.33 

速度差异是否足够大以关心?

+0

不成熟的优化是所有邪恶的根源... – dandavis

+0

我也有一个关于'Math.round()'效率的问题。如果速度是最重要的,请考虑偏移。看到这里:http://stackoverflow.com/questions/3233731/javascript-bitshift-alternative-to-math-round – cube

回答

2

将这个脚本[...]比这个脚本

运行速度更快或更慢。第二,还有很多事情要做。

或者说,有没有一种方法可以让JavaScript来评估一个方程只有一定的准确度。

是速度差,甚至大到足以关心?

如果你想显示具有一定精度的结果,你可以使用a.toFixed(2)(保留两位小数)或a.toPrecision(2)(二显著位数)。但是四舍五入(甚至不是整数)不会对性能产生积极影响。