Test name | Executions per second |
---|---|
toFixed(4) | 5864440.0 Ops/sec |
toPrecision(4).toString() | 5077134.5 Ops/sec |
(Math.round(*10000)/10000).toString() | 4707883.5 Ops/sec |
Math.floor fast | 12134922.0 Ops/sec |
precisition round | 2180206.8 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);