🇧🇦

Bosnia and Herzegovina Number Format

CLDR Locale:
ISO: BA / BIHRegion: EuropeDigits: western

Try It — Live Preview

Number
1.234.567,89
Currency (BAM)
1.234.567,89 KM
Percentage
1.234.568%
Compact
1,2 mil.

Format Rules

Decimal Separator
,comma
Thousands Separator
.period
Grouping Pattern
3
Negative Format
-1.234.567,89
Currency Symbol
KM (BAM)
Currency Position
After number with space → 1.234.567,89 KM
Percent Position
After number with space → 13%
Zero
0,00
Compact
1,2 mil.

Bosnia and Herzegovina formatting implementation notes

For Bosnia and Herzegovina, format numbers with the explicit locale bs-BA; the reference value 1234567.89 renders as 1.234.567,89.

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

BAM is shown with KM after the amount with a separating space; the same reference value renders as 1.234.567,89 KM. 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 hr-BA, sr-BA, 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: bs-BA
  • Decimal and grouping: 1.234.567,89
  • Currency: BAM → 1.234.567,89 KM
  • Digits: Western 0–9 digits

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

What's different here

  • Decimal mark is a comma (,) (en-US uses a period (.)).
  • Thousands are grouped with a period (.) (en-US uses a comma (,)).
  • The currency symbol goes after the amount with a space (en-US: immediately before the amount).
  • The percent sign goes after the number with a space (en-US: immediately after the number).
  • Uses the same number pattern (decimal mark, grouping, symbol and percent placement) as Germany, Denmark, Greece, Romania, Slovenia and Croatia in Europe, plus 1 page in other regions.
  • Nearby differences: France (fr-FR) groups with a narrow no-break space (U+202F) instead of a period (.); Italy (it-IT) places the percent sign immediately after the number; Spain (es-ES) places the percent sign immediately after the number; Belgium (fr-BE) groups with a narrow no-break space (U+202F) instead of a period (.).
  • Currency: BAM has ISO minor unit 2.
  • Postal address order: name → building → street + street number → postcode + city → country. See address formats.

Reference value 1234567.89 in each locale

LocaleOutput
bs-BA1.234.567,89
hr-BA1.234.567,89
sr-BA1.234.567,89

Rendered with the platform's CLDR data at build time.

Code Examples

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

// Currency
new Intl.NumberFormat('bs-BA', {
  style: 'currency',
  currency: 'BAM'
}).format(1234567.89)
// → "1.234.567,89 KM"

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

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

Negative Number Formats

Standard-1.234.567,89
new Intl.NumberFormat('bs-BA').format(-1234567.89)
Accounting style-1.234.567,89 KM
new Intl.NumberFormat('bs-BA', { style: 'currency', currency: 'BAM', currencySign: 'accounting' }).format(-1234567.89)