Rounding errors will haunt you forever.

When working with computers, one often sees the use of floating-point numbers. One may see an item for sale for 5.36 dollars or an interest rate of 3.475%. However, the way computers store floating-point numbers in memory can introduce small amounts of error in these representations. For example, the computer may store 5.36 as 5.3600000000000003197442.
These differences are tiny, but when an algorithm determines whether to round numbers up or down, those small errors can lead to unexpected results.
Typically, floating-point numbers are acceptable in scientific applications where programmers understand that every measurement is an estimate. But one should not use them in financial applications where users expect payments to be exact.
For financial applications, one should work with integer representations and avoid rounding errors. The Money pattern is an excellent example of a tool that developers should use in these situations.