Skip to content

YouCalc · Reference study · Last reviewed 2026-07-01

How the World Writes Numbers

Write 1234567.89 and hand it to the world, and it stops meaning one thing. In the United States it is 1,234,567.89; in Germany the very same amount is 1.234.567,89 — so a lone “1.000” is one in New York and one thousand in Berlin. That is the “1.000 problem”. Go to India and the commas move: 1,00,000 is not a hundred thousand written oddly — it is one lakh, grouped 2-2-3. Below, one number is rendered in every distinct convention across {count} locales, each traced to the Unicode standard that defines it — so you can read, or write, a foreign number without a 1000× mistake.

The number 1234567.89 rendered seven distinct ways: 1,234,567.89 (US/UK); 1.234.567,89 (Germany, the 1.000 problem); 1 234 567,89 (France, space groups); an apostrophe-grouped Swiss form; 12,34,567.89 (Indian lakh grouping); Arabic-Indic digits with Arabic separators (Egypt); and the SI thin-space recommendation.
One amount, seven conventions. Numbers are real Intl.NumberFormat output. · YouCalc · CC BY 4.0

One number, every way

The same quantity, 1234567.89, grouped and punctuated by convention. Watch the decimal mark, the group separator, the grouping pattern, and the digits themselves change.

1,234,567.89

Point decimal, comma groups

decimal is a point · groups by comma · uniform threes

United States (English) · United Kingdom (English) · Canada (English) · Australia (English) · New Zealand (English) · +13 more

1.234.567,89

Comma decimal, point groups

the “1.000 problem” · decimal is a comma · groups by point

Germany (German) · Spain (Spanish) · Italy (Italian) · Netherlands (Dutch) · Brazil (Portuguese) · +10 more

1 234 567,89

Space groups, comma decimal

decimal is a comma · groups by a space (no-break or narrow)

Austria (German) · France (French) · Portugal (Portuguese) · Sweden (Swedish) · Finland (Finnish) · +9 more

1’234’567.89

Swiss apostrophe groups

decimal is a point · groups by an apostrophe

Switzerland (German) · Switzerland (Italian)

12,34,567.89

Indian lakh grouping (2-2-3)

12,34,567 not 1,234,567 · decimal is a point

India (English) · India (Hindi) · India (Tamil)

১২,৩৪,৫৬৭.৮৯

Indian grouping, native digits

lakh grouping written with Bengali or Devanagari digits

India (Bengali) · Bangladesh (Bengali)

١٬٢٣٤٬٥٦٧٫٨٩

Arabic-Indic digits & marks

digits ٠–٩ · Arabic decimal ٫ · Arabic thousands ٬

Egypt (Arabic) · Saudi Arabia (Arabic) · Iran (Persian)

1 234 567.89

SI recommendation (standard)

thin-space groups · a point or a comma decimal

International — BIPM SI Brochure · NIST SP 811

Method. Every figure on this page is generated by asking Intl.NumberFormat(<locale>) to format 1234567.89, then reading the parts (formatToParts) for the decimal mark, the group separator and the grouping pattern — the same Unicode CLDR data that browsers and operating systems use. The grouping pattern is classified from the integer-segment lengths (Western uniform threes vs the Indian 2-2-3 lakh), and the numbering system from the formatter’s resolved options. Nothing is hand-typed.

The full reference

Sorted into convention families. “Example” is 1234567.89 as that locale renders it; the “Currency” column shows the symbol placement using the local currency.

The full reference
Locale Country / language Example (1234567.89) Decimal mark Group separator Grouping Currency
en-US United States (English) 1,234,567.89 . point . , comma , Western (uniform 3) prefix $1,234,567.89
en-GB United Kingdom (English) 1,234,567.89 . point . , comma , Western (uniform 3) prefix £1,234,567.89
en-CA Canada (English) 1,234,567.89 . point . , comma , Western (uniform 3) prefix $1,234,567.89
en-AU Australia (English) 1,234,567.89 . point . , comma , Western (uniform 3) prefix $1,234,567.89
en-NZ New Zealand (English) 1,234,567.89 . point . , comma , Western (uniform 3) prefix $1,234,567.89
en-IE Ireland (English) 1,234,567.89 . point . , comma , Western (uniform 3) prefix €1,234,567.89
ja-JP Japan (Japanese) 1,234,567.89 . point . , comma , Western (uniform 3) prefix ¥1,234,568
ko-KR South Korea (Korean) 1,234,567.89 . point . , comma , Western (uniform 3) prefix ₩1,234,568
zh-CN China (Simplified Chinese) 1,234,567.89 . point . , comma , Western (uniform 3) prefix ¥1,234,567.89
zh-TW Taiwan (Traditional Chinese) 1,234,567.89 . point . , comma , Western (uniform 3) prefix $1,234,567.89
zh-HK Hong Kong (Chinese) 1,234,567.89 . point . , comma , Western (uniform 3) prefix HK$1,234,567.89
th-TH Thailand (Thai) 1,234,567.89 . point . , comma , Western (uniform 3) prefix ฿1,234,567.89
ms-MY Malaysia (Malay) 1,234,567.89 . point . , comma , Western (uniform 3) prefix + space RM 1,234,567.89
he-IL Israel (Hebrew) 1,234,567.89 . point . , comma , Western (uniform 3) space + suffix ‏1,234,567.89 ‏₪
de-DE Germany (German) 1.234.567,89 , comma , . point . Western (uniform 3) space + suffix 1.234.567,89 €
de-AT Austria (German) 1 234 567,89 , comma , no-break space (U+00A0) Western (uniform 3) prefix + space € 1.234.567,89
es-ES Spain (Spanish) 1.234.567,89 , comma , . point . Western (uniform 3) space + suffix 1.234.567,89 €
it-IT Italy (Italian) 1.234.567,89 , comma , . point . Western (uniform 3) space + suffix 1.234.567,89 €
nl-NL Netherlands (Dutch) 1.234.567,89 , comma , . point . Western (uniform 3) prefix + space € 1.234.567,89
pt-BR Brazil (Portuguese) 1.234.567,89 , comma , . point . Western (uniform 3) prefix + space R$ 1.234.567,89
da-DK Denmark (Danish) 1.234.567,89 , comma , . point . Western (uniform 3) space + suffix 1.234.567,89 kr.
el-GR Greece (Greek) 1.234.567,89 , comma , . point . Western (uniform 3) space + suffix 1.234.567,89 €
id-ID Indonesia (Indonesian) 1.234.567,89 , comma , . point . Western (uniform 3) prefix + space Rp 1.234.567,89
tr-TR Turkey (Turkish) 1.234.567,89 , comma , . point . Western (uniform 3) prefix ₺1.234.567,89
vi-VN Vietnam (Vietnamese) 1.234.567,89 , comma , . point . Western (uniform 3) space + suffix 1.234.568 ₫
fr-FR France (French) 1 234 567,89 , comma , narrow no-break space (U+202F) Western (uniform 3) space + suffix 1 234 567,89 €
pt-PT Portugal (Portuguese) 1 234 567,89 , comma , no-break space (U+00A0) Western (uniform 3) space + suffix 1 234 567,89 €
sv-SE Sweden (Swedish) 1 234 567,89 , comma , no-break space (U+00A0) Western (uniform 3) space + suffix 1 234 567,89 kr
fi-FI Finland (Finnish) 1 234 567,89 , comma , no-break space (U+00A0) Western (uniform 3) space + suffix 1 234 567,89 €
nb-NO Norway (Norwegian) 1 234 567,89 , comma , no-break space (U+00A0) Western (uniform 3) space + suffix 1 234 567,89 kr
pl-PL Poland (Polish) 1 234 567,89 , comma , no-break space (U+00A0) Western (uniform 3) space + suffix 1 234 567,89 zł
cs-CZ Czechia (Czech) 1 234 567,89 , comma , no-break space (U+00A0) Western (uniform 3) space + suffix 1 234 567,89 Kč
hu-HU Hungary (Hungarian) 1 234 567,89 , comma , no-break space (U+00A0) Western (uniform 3) space + suffix 1 234 567,89 Ft
ru-RU Russia (Russian) 1 234 567,89 , comma , no-break space (U+00A0) Western (uniform 3) space + suffix 1 234 567,89 ₽
uk-UA Ukraine (Ukrainian) 1 234 567,89 , comma , no-break space (U+00A0) Western (uniform 3) space + suffix 1 234 567,89 грн
ro-RO Romania (Romanian) 1.234.567,89 , comma , . point . Western (uniform 3) space + suffix 1.234.567,89 RON
de-CH Switzerland (German) 1’234’567.89 . point . apostrophe ’ (U+2019) Western (uniform 3) prefix + space CHF 1’234’567.89
fr-CH Switzerland (French) 1 234 567,89 , comma , narrow no-break space (U+202F) Western (uniform 3) space + suffix 1 234 567.89 CHF
it-CH Switzerland (Italian) 1’234’567.89 . point . apostrophe ’ (U+2019) Western (uniform 3) prefix + space CHF 1’234’567.89
en-IN India (English) 12,34,567.89 . point . , comma , Indian (2-2-3 lakh) prefix ₹12,34,567.89
hi-IN India (Hindi) 12,34,567.89 . point . , comma , Indian (2-2-3 lakh) prefix ₹12,34,567.89
bn-IN India (Bengali) ১২,৩৪,৫৬৭.৮৯ . point . , comma , Indian (2-2-3 lakh) prefix ₹১২,৩৪,৫৬৭.৮৯
ta-IN India (Tamil) 12,34,567.89 . point . , comma , Indian (2-2-3 lakh) prefix ₹12,34,567.89
ur-PK Pakistan (Urdu) 1,234,567.89 . point . , comma , Western (uniform 3) prefix + space Rs 1,234,567.89
ne-NP Nepal (Nepali) 1,234,567.89 . point . , comma , Western (uniform 3) prefix + space NPR 1,234,567.89
bn-BD Bangladesh (Bengali) ১২,৩৪,৫৬৭.৮৯ . point . , comma , Indian (2-2-3 lakh) suffix ১২,৩৪,৫৬৭.৮৯৳
ar-EG Egypt (Arabic) ١٬٢٣٤٬٥٦٧٫٨٩ ٫ Arabic decimal ٫ (U+066B) ٬ Arabic thousands ٬ (U+066C) Western (uniform 3) space + suffix ‏١٬٢٣٤٬٥٦٧٫٨٩ ج.م.‏
ar-SA Saudi Arabia (Arabic) ١٬٢٣٤٬٥٦٧٫٨٩ ٫ Arabic decimal ٫ (U+066B) ٬ Arabic thousands ٬ (U+066C) Western (uniform 3) space + suffix ‏١٬٢٣٤٬٥٦٧٫٨٩ ر.س.‏
ar-AE United Arab Emirates (Arabic) 1,234,567.89 . point . , comma , Western (uniform 3) space + suffix ‏1,234,567.89 د.إ.‏
ar-MA Morocco (Arabic) 1.234.567,89 , comma , . point . Western (uniform 3) space + suffix ‏1.234.567,89 د.م.‏
fa-IR Iran (Persian) ۱٬۲۳۴٬۵۶۷٫۸۹ ٫ Arabic decimal ٫ (U+066B) ٬ Arabic thousands ٬ (U+066C) Western (uniform 3) prefix + space ‎ریال ۱٬۲۳۴٬۵۶۸
es-MX Mexico (Spanish) 1,234,567.89 . point . , comma , Western (uniform 3) prefix $1,234,567.89
es-AR Argentina (Spanish) 1.234.567,89 , comma , . point . Western (uniform 3) prefix + space $ 1.234.567,89
es-CO Colombia (Spanish) 1.234.567,89 , comma , . point . Western (uniform 3) prefix + space $ 1.234.567,89
es-CL Chile (Spanish) 1.234.567,89 , comma , . point . Western (uniform 3) prefix $1.234.568
af-ZA South Africa (Afrikaans) 1 234 567,89 , comma , no-break space (U+00A0) Western (uniform 3) prefix + space R 1 234 567,89
en-ZA South Africa (English) 1 234 567,89 , comma , no-break space (U+00A0) Western (uniform 3) prefix + space R 1 234 567,89

All examples are the identical amount 1234567.89, rendered by Intl.NumberFormat (Unicode CLDR / ICU). “␣” marks a space separator (no-break or narrow no-break).

Why the same digits mean different amounts

The “1.000 problem”

English uses the point for the decimal and the comma to group thousands; most of continental Europe and Latin America do the exact opposite — comma for the decimal, point (or a space) for thousands. So 1.000 is 1 to an American and 1000 to a German, and 1,5 is one-and-a-half in Paris but a typo in Chicago. Reading a European invoice as if it were American (or vice-versa) is a classic 1000× error.

The Indian lakh & crore (2-2-3 grouping)

South Asian locales don’t group in uniform threes. After the first three digits they group in twos: a hundred thousand is 1,00,000 (one lakh), and a hundred million is 12,34,56,789 — that is 12 crore, 34 lakh… The commas look familiar but land in unfamiliar places, which is exactly why the amount is easy to misread.

The Swiss apostrophe

Switzerland groups thousands with an apostrophe: 1’234’567.89. It is unambiguous — no one confuses 1’000 with a decimal — which is part of why it survives.

Arabic separators & digits

Arabic-script locales may render both the digits and the separators natively: the digits ٠١٢٣٤٥٦٧٨٩, the Arabic decimal separator ٫ (U+066B) and the Arabic thousands separator ٬ (U+066C). So 1234567.89 becomes ١٬٢٣٤٬٥٦٧٫٨٩. Persian (Iran) uses the extended Arabic-Indic digits ۰۱۲۳۴۵۶۷۸۹. Note that several Arabic locales (e.g. the UAE) default to Western digits — convention varies within the script.

The standards answer: SI grouping

To keep data machine- and border-safe, the BIPM SI Brochure and NIST SP 811 recommend a single neutral convention: the decimal sign is a point or a comma, and digits are grouped in threes separated by a thin space — never a comma or a point, precisely because those already mean “decimal” somewhere. So the unambiguous form is 1 234 567.89 (and, for four-digit numbers, the space is optional). This is a recommendation for scientific and technical writing, not a rule everyday locales follow.

Sources

How to read this honestly

The per-locale formats come from Unicode CLDR via Intl.NumberFormat — the same data your phone and browser use — so they reflect common, standard usage, not a legal decree. Real-world practice varies within a country (many Arabic locales use Western digits day-to-day; handwriting and house styles differ), and CLDR is periodically revised, so a locale’s default can change between releases. The SI thin-space form is a recommendation for clarity, not universal practice. Use this as a reliable guide to what a format means, and when precision matters, state the amount unambiguously.

Derived from Unicode CLDR via Intl.NumberFormat across 57 locales, classified into 9 distinct conventions. SI grouping per the BIPM SI Brochure and NIST SP 811. Self-made reference, CC BY 4.0.