Chinese numbers as a positional system with unit markers
Chinese numbers are a positional system, but unlike Arabic numerals the position is marked with a unit character — 十, 百, 千, 万 — rather than implied by column. Once you learn the ten digits and four unit markers, every number up to 99,999 is compositional: you can literally parse and generate numbers the same way you'd serialize an integer.
Better still, the grammar is regular. There are two mild exceptions (a dropped leading 一 for 10, and a two-headed "two" that swaps 二 for 两 in some slots), and that's it. Everything else is multiplier + unit + multiplier + unit all the way down.
// Chinese numbers as a parser / serializer. const digits = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九"]; const units = ["", "十", "百", "千", "万"]; // 10^0 .. 10^4 // Chinese groups by FOUR (万 = 10^4, 亿 = 10^8), not by three. // 1,000,000 = "one million" in English, 一百万 ("hundred wan") in Chinese.
1. The digits (0–10)
Eleven characters cover every digit. Learn them once; they recombine forever.
| Digit | Hanzi | Pinyin | Notes |
|---|---|---|---|
| 0 | 零 | líng | Formal zero. 〇 is an informal alternative (dates, addresses). |
| 1 | 一 | yī | Tone shifts contextually: yī / yì / yí depending on what follows. |
| 2 | 二 | èr | The counting "two." For quantities, 两 takes over (see §3). |
| 3 | 三 | sān | Three horizontal strokes — pictographic. |
| 4 | 四 | sì | Unlucky — homophone with 死 (die). See §8. |
| 5 | 五 | wǔ | |
| 6 | 六 | liù | Lucky — associated with "smooth" (流, liú). |
| 7 | 七 | qī | In phone numbers, 一 is read "yāo" to avoid confusion with this. See §8. |
| 8 | 八 | bā | The lucky number — sounds like 发 (fā, "prosper"). |
| 9 | 九 | jiǔ | Homophone with 久 (jiǔ, "long-lasting") — lucky at weddings. |
| 10 | 十 | shí | Both a digit and the first unit marker. Double duty starts here. |
2. The unit markers
Four characters carry place value. Memorize them once and the whole number line falls out.
| Unit | Pinyin | Value | Notes |
|---|---|---|---|
| 十 | shí | 101 = 10 | Tens. |
| 百 | bǎi | 102 = 100 | Hundreds. |
| 千 | qiān | 103 = 1,000 | Thousands. Same pattern as English so far. |
| 万 | wàn | 104 = 10,000 | The big exception. Chinese grouping starts here. |
| 亿 | yì | 108 = 100,000,000 | Next grouping up — a hundred million, not a billion. |
100,0000 instead
of 1,000,000, the Chinese reading becomes obvious.
3. Composition rules — the grammar of numbers
Numbers are parsed left to right as a sequence of multiplier + unit pairs, largest unit first. Five small rules cover every case.
Rule 1 — Normal composition
Multiplier + unit, concatenated. The multiplier is a single digit; the unit is 十, 百, 千, or 万.
| Number | Hanzi | Reads as |
|---|---|---|
| 20 | 二十 | 2 × 10 |
| 300 | 三百 | 3 × 100 |
| 5,000 | 五千 | 5 × 1,000 |
| 40,000 | 四万 | 4 × 10,000 |
Rule 2 — Adjacent zeros collapse to a single 零
When a digit place is empty in the middle of a number, you insert exactly one 零 to mark the gap. Two or three consecutive empty places still collapse to a single 零. Trailing zeros at the end are dropped, not spoken.
| Number | Hanzi | Reads as |
|---|---|---|
| 101 | 一百零一 | one-hundred-zero-one |
| 1,001 | 一千零一 | two empty places → one 零 |
| 1,010 | 一千零一十 | one-thousand-zero-one-ten |
| 1,100 | 一千一百 | no gap — no 零 |
Rule 3 — Drop the leading 一 for bare 10
10 is 十, not 一十. The multiplier of 1 is implicit when it's the only thing there. But once you go past 100, you must write the 一: 110 is 一百一十, never just 百一十.
| Number | Hanzi | Note |
|---|---|---|
| 10 | 十 | Implicit 1. |
| 11 | 十一 | 10 + 1. |
| 19 | 十九 | 10 + 9. |
| 100 | 一百 | Explicit 1 required once you leave the tens. |
| 1,000 | 一千 | Same rule. |
Rule 4 — 两 vs 二
Chinese has two words for "two." 二 is the digit used in sequences (twenty-two) and in ordinals (second). 两 is the quantity two — used before a measure word or before a round 百 / 千 / 万.
| Context | Hanzi | Why |
|---|---|---|
| two people | 两个人 | Measure word follows — use 两. |
| two cups of tea | 两杯茶 | Measure word follows — use 两. |
| 200 | 两百 | Round hundred — use 两. |
| 20,000 | 两万 | Round 万 — use 两. |
| 22 | 二十二 | In a digit sequence — use 二. |
| the 2nd | 第二 | Ordinal — use 二. |
Rule 5 — Full parse, end to end
Putting all four rules together on a five-digit number. Read 5,678 as:
// 5,678 = 五 千 六 百 七 十 八 // 5 × 1000 + 6 × 100 + 7 × 10 + 8 // parse(5678) -> ["5", "千", "6", "百", "7", "十", "8"]
Every digit position is tagged with its unit. The listener does not have to count columns — the character tells them the place value directly.
4. Ordinals
Ordinals are cardinals with a 第 prefix. No other changes, no plural/singular agreement, no "-th / -st / -nd / -rd" irregularities.
| Ordinal | Hanzi | Pinyin |
|---|---|---|
| 1st | 第一 | dì yī |
| 2nd | 第二 | dì èr |
| 3rd | 第三 | dì sān |
| 100th | 第一百 | dì yī bǎi |
5. Fractions, decimals, percentages
Fractions — denominator first
Chinese reverses the English order. You say "of X parts, Y" — denominator, then 分之 ("parts of which"), then numerator.
| Fraction | Hanzi | Literal |
|---|---|---|
| 1/3 | 三分之一 | "of three parts, one" |
| 2/5 | 五分之二 | "of five parts, two" |
| 3/4 | 四分之三 | "of four parts, three" |
Decimals — 点 for the point
点 ("dot") separates the integer from the fractional part. Digits after the point are read one at a time, like a serial number.
| Number | Hanzi | Reads as |
|---|---|---|
| 3.14 | 三点一四 | "three dot one four" |
| 0.5 | 零点五 | "zero dot five" |
| 12.05 | 十二点零五 | "twelve dot zero five" |
Percentages — 百分之 X
Same structure as fractions, with 百 (hundred) as the fixed denominator: "of a hundred parts, X."
| % | Hanzi | Literal |
|---|---|---|
| 50% | 百分之五十 | "of 100 parts, 50" |
| 100% | 百分之百 | "of 100 parts, 100" |
| 3.5% | 百分之三点五 | "of 100 parts, 3.5" |
Multipliers — 倍
倍 (bèi) is the "times / -fold" suffix. 三倍 = three times / threefold. 两倍 = twice as much (note the 两, per rule 4). Comparative: A 比 B 大 三倍 means A is three times larger than B.
6. Special number words
A handful of words ride alongside the numeric system without being pure numerals. They're the ones native speakers reach for most in daily speech.
| Word | Pinyin | Meaning | Usage |
|---|---|---|---|
| 几 | jǐ | "a few" / "how many?" | For small counts, roughly under 10. 几个 = "how many?" |
| 多少 | duō shǎo | "how many / how much?" | General-purpose, no size expectation. 多少钱 = "how much money?" |
| 半 | bàn | half | 一半 = "one half." Time: 三点半 = 3:30. |
| 双 | shuāng | pair | A measure word: 一双鞋 = a pair of shoes. |
| 对 | duì | pair (matched set) | For matched couples: 一对夫妻 = a married couple. |
u8 and
多少 as an unbounded integer.
7. Measure words — the brief version
Chinese requires a measure word between a number and a noun, the same way TypeScript requires a type annotation between a variable and its value. This is the central topic of Module 2; here's just enough to count things.
// Pattern: NUMBER + MEASURE + NOUN // 三 本 书 — 3 "volumes" book — three books // 两 杯 茶 — 2 "cups" tea — two cups of tea // 一 个 人 — 1 "generic" person — one person
个 (gè) is the generic fallback — the
Object of measure words. It works for anything you don't know the
specific measure for; native speakers will understand you but it won't always
sound native. Specific measure words carry semantic information:
本 for bound volumes, 张
for flat things, 条 for long thin things,
只 for animals and one-of-a-pair objects.
The full table of which-measure-for-which-noun lives in the upcoming Measure Word Cheat Sheet. For now: if you can say number + 个 + noun, you can be understood.
8. Cultural notes — luck, age, phone numbers
Lucky and unlucky numbers
Numbers in Chinese carry a phonetic superstition layer. Homophones matter: if a digit sounds like a lucky word, the digit is lucky too.
| Digit | Reads like | Status |
|---|---|---|
| 八 (8) | 发 (fā, "prosper") | Very lucky. Phone numbers with many 8s cost more; the Beijing Olympics opened at 8:08 PM on 8/8/2008. |
| 六 (6) | 流 (liú, "flow, smooth") | Smooth, lucky. 六六大顺 = "everything goes smoothly." |
| 九 (9) | 久 (jiǔ, "long-lasting") | Lucky, especially at weddings and for longevity. |
| 四 (4) | 死 (sǐ, "die") | Unlucky. Buildings skip the 4th floor the way Western buildings skip 13. |
Age
"How old are you?" and "I am X years old" both use 岁 (suì) — the measure word for age. The pattern is the same for children and adults:
// 你 今年 几 岁? (for children — expects a small number) // nǐ jīnnián jǐ suì? // "How old are you this year?" // 你 今年 多大? (for peers / adults — polite) // nǐ jīnnián duō dà? // "How old are you this year?" (literally "how big") // 我 今年 二十五 岁。 // wǒ jīnnián èrshíwǔ suì // "I'm 25 this year."
Phone numbers
Phone numbers are read digit by digit, left to right — no unit markers. One quirk: 一 is pronounced "yāo" instead of "yī" to avoid acoustic confusion with 七 (qī). So 138-0001-7777 reads as "yāo-sān-bā, líng-líng-líng-yāo, qī-qī-qī-qī."
9. Sample sentence patterns
Five sentences you can build right now with the numeric system above.
// 三 加 二 等于 五。 // sān jiā èr děngyú wǔ // "3 + 2 = 5." — basic arithmetic assert(3 + 2 === 5); // 我 有 两 个 哥哥。 // wǒ yǒu liǎng ge gēge // "I have two older brothers." — 两 before a measure word me.olderBrothers.length === 2; // 这 本 书 一共 有 三百 页。 // zhè běn shū yīgòng yǒu sānbǎi yè // "This book has 300 pages total." — 本 is the measure word for books thisBook.pages === 300; // 现在 是 三点半。 // xiànzài shì sān diǎn bàn // "It's 3:30." — 点 = hour-marker, 半 = half-past now.toLocaleTimeString() === "3:30"; // 打 八折。 // dǎ bā zhé // "20% off" — literally "strike 8-fold," i.e. pay 80% of the original. price = original * 0.8;
10. Next steps
Numbers are the backbone of Module 2 (the type system) because every count needs a measure word. Once the numbers feel automatic, the measure-word table is the next thing to internalize.
- Browse number vocabulary — filtered by tag
- Start a review session — lock in the digits and units first
- Module 2: The Type System — measure words in depth
- Food & Eating — where you'll actually use 两杯, 三碗, 一个
Next up: the Measure Word Cheat Sheet — which classifier goes with which kind of noun, and how to guess when you don't know.