I am trying to use eval() for calculator i am making, but if when i try this
console.log(eval("5.2-5"));
It returns
0.20000000000000018
Why is this happening.Thank you for your time.
I am trying to use eval() for calculator i am making, but if when i try this
console.log(eval("5.2-5"));
It returns
0.20000000000000018
Why is this happening.Thank you for your time.
Javascript evaluates "5.2-2" to a floating point number, which precision is not guaranteed.
If you need a fixed precision you could use
console.log(eval("5.2-5.0").toFixed(2)):
This is due to how Javascript handles floating point precision. Please see How to deal with floating point number precision in JavaScript? for more information
Short answer: Due to the nature of how computers process floats, this means floating point accuracy actually breaks down past a certain point. This is what you're seeing.