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.
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.
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)):