Some decimals cannot be exactly represented by double values. 0.3 is one of those values.
All integer values less than a certain number (I forget which) happen to have an exact representation by a double value, so you don't see the approximation.
Consider how we think of numbers: the number 123 is represented as (1 * 100) + (2 * 10) + (3 * 1). We use 10 as our base. Binary numbers use two. So when you look at fractions of a number, how could you represent 0.3 by adding individual powers of 2? You can't. The best you can come up with is about 0.30000000000000004 (I'd have to see the exact binary digits to see how it reaches that).