Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Help in double precision addition

I was testing some of my code, in javascript I added .1+.2 and it gives me .30000000000000004 instead of .3 . I don't understand this. But when I added .1+.3 it gives me .4. I googled it and find its something about Double Precision addition. But I don't know what it is.

like image 552
Vaibhav Jain Avatar asked May 23 '11 06:05

Vaibhav Jain


2 Answers

Here's the obligatory link: What Every Computer Scientist Should Know About Floating-Point Arithmetic

Basically, there are many base 10 numbers that cannot be exactly represented in the floating point format used by most computers, so you'll get issues like the ones you highlight.

like image 97
sje397 Avatar answered Sep 21 '22 15:09

sje397


If you can't stay awake for What Every Computer Scientist Should Know About Floating-Point Arithmetic, try instead the javascript-specific Rounding in JavaScript.

like image 31
RobG Avatar answered Sep 19 '22 15:09

RobG