Sovan Misra
Sovan Misra

Reputation: 109

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.

Upvotes: 5

Views: 106

Answers (2)

Holger D. Schauf
Holger D. Schauf

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

Ravinder Singh
Ravinder Singh

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

Related Questions