🇲🇦

Morocco Number Format

CLDR Locale:
ISO: MA / MARRegion: AfricaDigits: western

Try It — Live Preview

Number
1.234.567,89
Currency (MAD)
‏1.234.567,89 د.م.‏
Percentage
1.234.568‎%‎
Compact
1,2 مليون

Format Rules

Decimal Separator
,comma
Thousands Separator
.period
Grouping Pattern
3
Negative Format
‎-1.234.567,89
Currency Symbol
MAD (MAD)
Currency Position
After number with space 1.234.567,89 MAD
Percent Position
After number with space 13‎%‎
Zero
0,00
Compact
1,2 مليون

Morocco formatting implementation notes

For Morocco, format numbers with the explicit locale ar-MA; the reference value 1234567.89 renders as 1.234.567,89.

Morocco's reference format uses "," as the decimal mark and period (".") for grouping. The integer uses repeating groups of three digits. Pass "ar-MA" directly to Intl.NumberFormat instead of replacing punctuation in a preformatted string.

MAD is shown with MAD after the amount with a separating space; the same reference value renders as 1.234.567,89 MAD. The percent sign appears after the amount with a separating space. 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-MA, 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: ar-MA
  • Decimal and grouping: 1.234.567,89
  • Currency: MAD → 1.234.567,89 MAD
  • Digits: Western 0–9 digits

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

Code Examples

// Basic number
new Intl.NumberFormat('ar-MA').format(1234567.89)
// → "1.234.567,89"

// Currency
new Intl.NumberFormat('ar-MA', {
  style: 'currency',
  currency: 'MAD'
}).format(1234567.89)
// → "1.234.567,89 MAD"

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

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

Negative Number Formats

Standard‎-1.234.567,89
new Intl.NumberFormat('ar-MA').format(-1234567.89)
Accounting style(؜1.234.567,89 د.م.‏)
new Intl.NumberFormat('ar-MA', { style: 'currency', currency: 'MAD', currencySign: 'accounting' }).format(-1234567.89)

Edge Cases & Notes

ar-MA uses Western digits (unlike ar-SA). French (fr-MA) also widely used.