This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
This has to do with the complex way floats store decimal numbers. Both ints and floats use 32-bits to represent numbers, but the precision on floats varies depending on the kind of significant digits it has to store. Floats tend to be slightly inaccurate as a result and you should not use them to represent values that need accuracy (like money).