The real numbers (that is all the usual numbers) are whats called the 'completion' of the rational numbers (the fractions), what this means is if we have a sequence of fractions and start adding infinitely many fractions together what the result may be is not a fraction. For instance 1, 1.4, 1.41, 1.412... is a sequence of fractions that converge to a limit (root 2) that is not rational. The way that one constructs a completion is to consider the space of all sequences and define whats called equivalence classes on those sequences, the way we do this is to say that two sequences are equivalent if and only if the terms between the sequences become closer as you progress through the sequence.
In short, when we write the number 0.99999.... we don't mean 'infinitely many 9's' as thats not useful. We mean that 0.999 is the limit of the sequence 0.9, 0.99, 0.999, 0.9999... and by '=' we mean that the terms between the sequences get close together. So now considering the relation 0.999... = 1 in the sequential format:
0.9, 0.99, 0.999, ...
1, 1, 1, ...
You can see that they get close together and in terms of sequences are 'equivalent' (This alternative definition of equivalence for sequences follows from verify that the relation is symmetric, reflexive and transitive)
I can get references if your interested futher.