I understand the overall argument but have a problem regarding one caveat mentioned in my book.

My book says that some real numbers like 2.000… and 1.999… have different decimal representations but are actually the same real numbers. Suppose we have a bijection $ f: N \rightarrow R$ where $ N$ and $ R$ are the sets of natural and real numbers respectively. Now, suppose $ f(1) = 1.999…$ and no $ x \in N$ exists such that $ f(x) = 2.000…$ . In such a scenario it is possible that the diagonalization argument ends up constructing the real number $ 2.000…$ which is already in our list since $ 1.999…$ and $ 2.000…$ are the same real numbers. To get around this problem, we never select 0 or 9 when constructing our number.

I don’t understand two things. First, why do $ 1.999…$ and $ 2.000…$ represent the same real number? Second, how never selecting 0 or 9 solves the problem this poses?