>>208473>doubleYou're dealing with a rational number, so you should use an integer type, for instance a long long.
Doubles only have a 52-bit mantissa, so after day 52 they'll start to produce results which are approximate, i.e. incorrect.
Plus integer math is faster all-round.
In general, when you're dealing with discrete quantities (i.e. dollars, sheep, etc.) you should use an integer multiple of the smallest amount there can be (i.e. pennies), and then do the conversion into fixed-point only when you actually display the quantity.
* yeah, a 64-bit long long won't last much longer, but it will be precise right up until it fails.