🇨🇭

Switzerland Number Format

CLDR Locale:
ISO: CH / CHERegion: EuropeDigits: western

Try It — Live Preview

Number
1'234'567.89
Currency (CHF)
CHF 1'234'567.89
Percentage
1'234'568%
Compact
1.2 Mio.

Format Rules

Decimal Separator
.period
Thousands Separator
apostrophe
Grouping Pattern
3
Negative Format
-1'234'567.89
Currency Symbol
Fr. (CHF)
Currency Position
Before number with space Fr. 1’234’567.89
Percent Position
After number 13%
Zero
0.00
Compact
1.2 Mio.

Switzerland formatting implementation notes

For Switzerland, format numbers with the explicit locale de-CH; the reference value 1234567.89 renders as 1’234’567.89.

Switzerland's reference format uses "." as the decimal mark and apostrophe ("’") for grouping. The integer uses repeating groups of three digits. Pass "de-CH" directly to Intl.NumberFormat instead of replacing punctuation in a preformatted string.

CHF is shown with Fr. before the amount with a separating space; the same reference value renders as Fr. 1’234’567.89. The percent sign appears immediately after the amount. Use the ISO currency code for storage and interchange because a visible symbol can be shared by unrelated currencies.

Western 0–9 digits are the page's reference digit system, and the negative pattern is -n. This country is multilingual in software contexts: also test fr-CH, it-CH, because language selection can change spacing, punctuation, and currency display without changing the region. Validate output with formatToParts() when spacing, signs, or bidirectional literals affect the interface.

  • Locale: de-CH
  • Decimal and grouping: 1’234’567.89
  • Currency: CHF → Fr. 1’234’567.89
  • Digits: Western 0–9 digits

Reviewed 19 July 2026. Sources: Unicode locale number formats · Intl.NumberFormat reference

Code Examples

// Basic number
new Intl.NumberFormat('de-CH').format(1234567.89)
// → "1’234’567.89"

// Currency
new Intl.NumberFormat('de-CH', {
  style: 'currency',
  currency: 'CHF'
}).format(1234567.89)
// → "Fr. 1’234’567.89"

// Percentage
new Intl.NumberFormat('de-CH', {
  style: 'percent',
  minimumFractionDigits: 1
}).format(0.125)

// Compact notation
new Intl.NumberFormat('de-CH', {
  notation: 'compact'
}).format(1234567)

Negative Number Formats

Standard-1'234'567.89
new Intl.NumberFormat('de-CH').format(-1234567.89)
Accounting styleCHF-1'234'567.89
new Intl.NumberFormat('de-CH', { style: 'currency', currency: 'CHF', currencySign: 'accounting' }).format(-1234567.89)

Edge Cases & Notes

Unique apostrophe (U+2019) as thousands separator. Decimal uses period — opposite of neighboring Germany. fr-CH uses narrow space for thousands.