Test name | Executions per second |
---|---|
toFixed(4) | 4563685.0 Ops/sec |
toPrecision(4).toString() | 4338023.0 Ops/sec |
(Math.round(*10000)/10000).toString() | 69619424.0 Ops/sec |
Math.floor fast | 222547952.0 Ops/sec |
precisition round | 40743512.0 Ops/sec |
var someFloat = 0.123456789;
var round_to_precision = function (x, precision) {
var y = +x + (precision === undefined ? 0.5 : precision/2);
return y - (y % (precision === undefined ? 1 : +precision));
};
someFloat.toFixed(4);
someFloat.toPrecision(4);
(Math.round(someFloat*10000)/10000);
~~(someFloat * 10000) / 10000;
round_to_precision(someFloat, 4);