Portugal Number Format
Try It — Live Preview
Format Rules
Portugal formatting implementation notes
For Portugal, format numbers with the explicit locale pt-PT; the reference value 1234567.89 renders as 1 234 567,89.
Portugal's reference format uses "," as the decimal mark and a narrow non-breaking space (U+202F) for grouping. The integer uses repeating groups of three digits. Pass "pt-PT" directly to Intl.NumberFormat instead of replacing punctuation in a preformatted string.
EUR is shown with € after the amount with a separating space; the same reference value renders as 1 234 567,89 €. 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. Treat pt-PT as the reference locale for this page, but still respect the user's explicitly selected language and numbering-system preferences. Validate output with formatToParts() when spacing, signs, or bidirectional literals affect the interface.
- Locale: pt-PT
- Decimal and grouping: 1 234 567,89
- Currency: EUR → 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('pt-PT').format(1234567.89)
// → "1 234 567,89"
// Currency
new Intl.NumberFormat('pt-PT', {
style: 'currency',
currency: 'EUR'
}).format(1234567.89)
// → "1 234 567,89 €"
// Percentage
new Intl.NumberFormat('pt-PT', {
style: 'percent',
minimumFractionDigits: 1
}).format(0.125)
// Compact notation
new Intl.NumberFormat('pt-PT', {
notation: 'compact'
}).format(1234567)Negative Number Formats
new Intl.NumberFormat('pt-PT').format(-1234567.89)new Intl.NumberFormat('pt-PT', { style: 'currency', currency: 'EUR', currencySign: 'accounting' }).format(-1234567.89)Quick Actions
Continue your localization implementation
Connect this reference to the format, validation, and testing guidance used elsewhere on the site.
Locale-aware numbers
Separators, grouping, currency precision, and Intl.NumberFormat patterns.
Localization testing
Pseudolocalization, test matrices, native review, and regional release gates.
Address and phone standards
UPU S42, E.164, adaptive forms, storage, parsing, and validation.
I18n architecture
Messages, Unicode, RTL, locale services, fallbacks, and delivery workflow.
Currency reference
ISO 4217 codes, symbols, minor units, and implementation examples.
Address formats
Country templates, field order, and accessible international forms.
Phone formats
E.164 storage, regional display, parsing, and validation.
Compare locales
Inspect the same numeric value across several country formats.
Interactive tools
Try number, address, and phone formatting in your browser.