Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3.1 Safari/605.1.15
Safari 17
Mac OS X 10.15.7
Desktop
one year ago
Test name Executions per second
toFixed(4) 6213265.0 Ops/sec
toPrecision(4).toString() 5322873.0 Ops/sec
(Math.round(*10000)/10000).toString() 5403557.5 Ops/sec
Math.floor fast 12503584.0 Ops/sec
precisition round 2342103.8 Ops/sec
Script Preparation code:
AخA
 
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));
};
Tests:
  • toFixed(4)

     
    someFloat.toFixed(4);
  • toPrecision(4).toString()

     
    someFloat.toPrecision(4);
  • (Math.round(*10000)/10000).toString()

    x
     
    (Math.round(someFloat*10000)/10000);
  • Math.floor fast

     
    ~~(someFloat * 10000) / 10000;
  • precisition round

     
    round_to_precision(someFloat, 4);