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.

Slider showing 0.999 to n places and its gap from 1Interactive figure with a slider controlling the number of nines n written after the decimal point. As n increases, the displayed decimal grows longer and the gap from one shrinks by a factor of ten each step.16111620number of 9s after the decimal point (n)↔ drag to change n
At $n = 3$, the gap is $10^{-3} = 0.001$. At $n = 6$, it is $10^{-6} = 0.000001$. At $n = 12$, it is $10^{-12}$ — a trillionth. The gap never reaches zero for any finite $n$, but every extra $9$ divides it by $10$.

The exact arithmetic behind the slider

Write a_n = 0.\underbrace{99\dots9}_{n}. Then

a_n \;=\; 1 - 10^{-n}.

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.