0

I have recently used a JS minifier to minify some numbers. For the number 511111111111111111111111111111 i got the result 5.1111111111111114e29 instead of 5.1e29? Here are other examples:

    //Test 1:
 setTimeout(function(){alert("Hello")},511111111111111111111111111111);
    //The minified result:
 setTimeout(function(){alert("Hello")},5.1111111111111114e29);

    //Test 2:
 setTimeout(function(){alert("Hello")},522222222222222222222222222222);
    //The result:
 setTimeout(function(){alert("Hello")},5.222222222222222e29);
    //Why not: 5.2e29 ?

    //Test 3:
 setTimeout(function(){alert("Hello")},50000000000000000000000000000);
    //The result:
 setTimeout(function(){alert("Hello")},5e28);
EPurpl3
  • 682
  • 7
  • 25
  • 1
    Sounds like your minifier is attempting to preserve accuracy. `5.22222222 != 5.2`. –  Mar 07 '18 at 16:59
  • This is an issue with how Javscript handles large numbers. See https://stackoverflow.com/questions/1685680/how-to-avoid-scientific-notation-for-large-numbers-in-javascript – daddygames Mar 07 '18 at 16:59
  • Why would you expect the minifier to round off your numbers? – Daniel Beck Mar 07 '18 at 17:03

0 Answers0