// illustrates why using floats for money is bad public class Money { private static float BIG_VALUE = 1e8F; // precision limit for float public static void main(String[] args) { float num = BIG_VALUE; for(int i = 0; i < 1000; ++i) num += 1.0; System.out.println(BIG_VALUE + " + 1000: " + num); num = 0.0F; for(int i = 0; i < 1000; ++i) num += 1.0; num += BIG_VALUE; System.out.println("1000 + " + BIG_VALUE + ": " + num); } }