Floating point format uses binary representation of a mantissa and exponent, it can't precisely express every decimal (decadic) numeric fraction, and it's precision is limited, so be sure to check if the double format can represent your values precisely. More about double format here on wikipedia. There is more questions about floating point precision on stack overflow, check this one and other related to it.
There are some consequences:
- you can't count on that you'll get precise value of your desired numbers
- you can't simply compare numbers for equality,
(1.0+2.0)==3.0
could work, but any more complex calculation with fractions could not compare equal... - precision of floating point number is limited, when you sum or multiply many numbers together, especially with different exponent, you'll accumuate large error in computation (see Kahan summation algorithm)