Type 0.999999\dots into a calculator and it will tell you 1. Most students suspect this is a rounding error — that "really" there is some tiny gap left over. This figure lets you choose how many 9s to write and reports the exact gap 1 - 0.\underbrace{99\dots9}_{n}. The gap shrinks by a factor of 10 every time you add a 9. There is no finite number of 9s that makes it zero — and that is the point at which the infinite case takes over.
Slide the number of 9s
Drag the slider: n is the number of 9s you are writing after the decimal point. The figure shows the truncated decimal and the exact remaining gap from 1.
The exact arithmetic behind the slider
Write a_n = 0.\underbrace{99\dots9}_{n}. Then
Why: 0.\underbrace{99\dots9}_{n} = \tfrac{10^n - 1}{10^n} = 1 - \tfrac{1}{10^n}. You can check it for n = 1: 0.9 = 1 - 0.1.
So the gap from 1 is exactly 10^{-n}. Pick any tolerance \varepsilon > 0 — say, \varepsilon = 10^{-100}. By choosing n = 100, you force the gap below \varepsilon. By choosing n = 101, you beat it by another factor of 10. No finite \varepsilon can hold out forever.
Why 0.999… equals 1, not approaches 1
"0.999\dots" is not a process. It is a number — the one value the sequence a_1, a_2, a_3, \dots is heading toward. Since the gap 10^{-n} can be made smaller than any positive number, the only real number greater than or equal to every a_n and at most every upper bound is 1.
A one-line algebraic version: let x = 0.999\dots. Then 10x = 9.999\dots. Subtract: 9x = 9, so x = 1. Why: both decimals have identical infinite tails, so the subtraction cancels them exactly, leaving 9.999\dots - 0.999\dots = 9.
Another: 0.999\dots = \tfrac{9}{10} + \tfrac{9}{100} + \tfrac{9}{1000} + \cdots, a geometric series with first term \tfrac{9}{10} and ratio \tfrac{1}{10}. Its sum is \tfrac{9/10}{1 - 1/10} = \tfrac{9/10}{9/10} = 1. Why: the geometric series formula \sum_{k=0}^{\infty} a r^k = \tfrac{a}{1 - r} converges for |r| < 1, and here a = 9/10, r = 1/10.
The slider values laid out
| n | 0.\underbrace{99\dots9}_{n} | gap from 1 |
|---|---|---|
| 1 | 0.9 | 0.1 |
| 2 | 0.99 | 0.01 |
| 3 | 0.999 | 0.001 |
| 6 | 0.999999 | 0.000001 |
| 9 | 0.999999999 | 10^{-9} |
| \infty | 0.999\dots | 0 |
Every finite row shows a strict inequality a_n < 1. The infinite row is the one that closes the gap — not because any single 9 did it, but because the gap cannot remain positive when it is smaller than every positive number.
A common misconception
Students often believe: "No matter how many 9s you write, there's a tiny bit missing." That is correct — for every finite n. The jump from "every finite truncation falls short" to "the infinite expansion also falls short" is the error. In the limit, the missing piece 10^{-n} is not some tiny positive number — it becomes zero. "Infinitely many 9s" is not "very many 9s but finite." It is a limit, and the limit equals 1 exactly.
If 0.999\dots were any real number less than 1, there would be a rational number strictly between it and 1. There isn't — the slider shows you that every rational p/q bigger than all the a_n must already be at least 1. No room for anything between.
This satellite sits inside Number Systems.