# Javascript unexpected result

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.

## Answers

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>

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.