JavaScript Internals (521 Qs)•Part 8: Modern JavaScript APIs, WeakRef, Proxy & Performance (464 - 521)
What is the Intl.NumberFormat API and how is it used?
The Intl.NumberFormat API provides language-sensitive number formatting, allowing you to format numbers according to locale-specific conventions.
javascript
// Basic usage
const formatter = new Intl.NumberFormat('en-US');
console.log(formatter.format(1234567.89)); // "1,234,567.89"
// Different locales
console.log(new Intl.NumberFormat('de-DE').format(1234567.89));
// "1.234.567,89"
console.log(new Intl.NumberFormat('hi-IN').format(1234567.89));
// "12,34,567.89"
Currency formatting:
javascript
const usdFormatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
});
console.log(usdFormatter.format(1234.56)); // "$1,234.56"
const euroFormatter = new Intl.NumberFormat('de-DE', {
style: 'currency',
currency: 'EUR'
});
console.log(euroFormatter.format(1234.56)); // "1.234,56 €"
Percentage formatting:
javascript
const percentFormatter = new Intl.NumberFormat('en-US', {
style: 'percent',
minimumFractionDigits: 2
});
console.log(percentFormatter.format(0.1234)); // "12.34%"
Unit formatting:
javascript
const distanceFormatter = new Intl.NumberFormat('en-US', {
style: 'unit',
unit: 'kilometer',
unitDisplay: 'long'
});
console.log(distanceFormatter.format(50)); // "50 kilometers"
Advanced options:
javascript
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
useGrouping: true
});
console.log(formatter.format(1234.5)); // "1,234.50"