Reputation: 109
I am doing an calculation in java script but i am facing a problem due to precision in decimal numbers. I can not post the exact calculation but this is what i am doing which leads to an unexpected result
When i write :
alert(100.01-36.01);
// result is 64
But when i write :
alert(100.01-37.01);
//result is 63.00000000000001
and it goes on like this for 38.01....so on. Can any please help me to why this is showing such an unexpected behavior. I am stuck in a calculation.
Thanks in advance.
Upvotes: 5
Views: 106
Reputation: 147
if you do not declare the numbers as numbers, js will automatic use it as string, if the string is not only used by numbers.
parseFloat(123.45) will set it as decimal number.
Upvotes: 0
Reputation: 3133
Try this :
<script type="text/javascript"> var n1 = parseFloat(100.01); var n2 = parseFloat(37.01); var res = (n1-n2) alert(res.toFixed(2)); </script>
Upvotes: 1