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.

DigitHanziPinyinNotes
0língFormal zero. is an informal alternative (dates, addresses).
1Tone shifts contextually: yī / yì / yí depending on what follows.
2èrThe counting "two." For quantities, takes over (see §3).
3sānThree horizontal strokes — pictographic.
4Unlucky — homophone with (die). See §8.
5
6liùLucky — associated with "smooth" (, liú).
7In phone numbers, is read "yāo" to avoid confusion with this. See §8.
8The lucky number — sounds like (fā, "prosper").
9jiǔHomophone with (jiǔ, "long-lasting") — lucky at weddings.
10shí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.

UnitPinyinValueNotes
shí101 = 10Tens.
bǎi102 = 100Hundreds.
qiān103 = 1,000Thousands. Same pattern as English so far.
wàn104 = 10,000The big exception. Chinese grouping starts here.
亿108 = 100,000,000Next grouping up — a hundred million, not a billion.
Grouping rule: Chinese groups digits by four ( = 104, 亿 = 108), not by three like English. So 1,000,000 ("one million") in English is 一百万 ("one hundred wan") in Chinese — literally 100 × 10,000. If you mentally regroup as 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 .

NumberHanziReads 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.

NumberHanziReads 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 百一十.

NumberHanziNote
10Implicit 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 / / .

ContextHanziWhy
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.

OrdinalHanziPinyin
1st第一dì yī
2nd第二dì èr
3rd第三dì sān
100th第一百dì yī bǎi
Days of the week use the same additive pattern: 星期一 = "week + one" = Monday, 星期二 = Tuesday, through 星期六 = Saturday. Sunday is the exception — 星期日 or 星期天. No here; the number is the day.

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.

FractionHanziLiteral
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.

NumberHanziReads 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."

%HanziLiteral
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.

WordPinyinMeaningUsage
"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ànhalf一半 = "one half." Time: 三点半 = 3:30.
shuāngpairA measure word: 一双鞋 = a pair of shoes.
duìpair (matched set)For matched couples: 一对夫妻 = a married couple.
vs 多少: Both mean "how many / how much," but implies the answer is a single digit and always takes a measure word (几个). 多少 is unbounded and can drop the measure word (多少钱). Think of as a 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.

DigitReads likeStatus
(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;
Discount gotcha: 八折 does not mean "80% off." It means "pay 8 out of 10" — a 20% discount. The lower the number, the bigger the discount: 五折 is half price, 三折 is 70% off. Read it as what you pay, not what gets taken away.

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.

Next up: the Measure Word Cheat Sheet — which classifier goes with which kind of noun, and how to guess when you don't know.