Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript数学效率舍入_Javascript_Performance_Math_Rounding - Fatal编程技术网

Javascript数学效率舍入

Javascript数学效率舍入,javascript,performance,math,rounding,Javascript,Performance,Math,Rounding,这个脚本可以吗 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; 运行速度比此脚本快或慢 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))/1

这个脚本可以吗

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;
运行速度比此脚本快或慢

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
速度差是否大到足以引起关注

此脚本[…]是否比此脚本运行得更快或更慢

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对等式进行评估,使其达到一定的精度

没有

速度差是否大到足以引起关注

没有


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

过早优化是万恶之源……我对
Math.round()
效率也有疑问。如果速度是最重要的,考虑移位。请看这里: