formatNum
Отдельная функция для форматирования чисел по правилам локали
Обзор
Отдельная функция formatNum форматирует числа в соответствии с локальными правилами и не требует экземпляра GT.
Она предоставляет ту же функциональность, что и метод класса GT, но может использоваться самостоятельно.
import { formatNum } from 'generaltranslation';
const formatted = formatNum(1234.56, {
locales: 'de-DE',
style: 'currency',
currency: 'EUR'
});
// Возвращает: «1.234,56 €»Справочные материалы
Параметры
| Имя | Тип | Описание |
|---|---|---|
number | number | Число для форматирования |
options | NumberFormatOptions & { locales: string | string[] } | Параметры форматирования с обязательным указанием локали(й) |
NumberFormatOptions
| Name | Type | Description |
|---|---|---|
locales | string | string[] | Обязательно — локали для форматирования |
style? | 'decimal' | 'currency' | 'percent' | 'unit' | Стиль форматирования чисел |
currency? | string | Код валюты (обязательно, если style — 'currency') |
minimumIntegerDigits? | number | Минимальное число целых цифр (1–21) |
minimumFractionDigits? | number | Минимальное число дробных знаков (0–20) |
maximumFractionDigits? | number | Максимальное число дробных знаков (0–20) |
useGrouping? | boolean | 'always' | 'auto' | 'min2' | Использовать ли разделители групп разрядов |
notation? | 'standard' | 'scientific' | 'engineering' | 'compact' | Формат записи числа |
Возвращает
string — число, отформатированное согласно правилам локали.
Пример
Базовое использование
import { formatNum } from 'generaltranslation';
// Базовое форматирование чисел
console.log(formatNum(1234.567, { locales: 'en-US' }));
// Результат: "1,234.567"
// Форматирование для немецкого языка
console.log(formatNum(1234.567, { locales: 'de-DE' }));
// Результат: "1.234,567"Форматирование валюты
// Доллар США
console.log(formatNum(1234.56, {
locales: 'en-US',
style: 'currency',
currency: 'USD'
}));
// Результат: "$1,234.56"
// Евро (немецкая локаль)
console.log(formatNum(1234.56, {
locales: 'de-DE',
style: 'currency',
currency: 'EUR'
}));
// Результат: "1.234,56 €"
// Японская иена
console.log(formatNum(1234.56, {
locales: 'ja-JP',
style: 'currency',
currency: 'JPY'
}));
// Результат: "¥1,235"Примечания
- В отличие от метода класса GT, параметр
localesобязателен - Используется тот же механизм
Intl.NumberFormat, что и в методе класса GT - Результаты кэшируются для повышения производительности при повторяющихся комбинациях локалей и опций
- Резервные локали обрабатываются по порядку, если основная локаль не поддерживается
- Поддерживаются все стандартные параметры
Intl.NumberFormat
Следующие шаги
- Ознакомьтесь с документацией
Intl.NumberFormatдля дополнительных настроек - См.
formatDateTimeдля независимого форматирования даты - См.
formatMessageдля независимого форматирования сообщений - См. метод класса GT
formatNumдля использования на уровне экземпляра - См.
formatCurrencyдля специализированного форматирования валют
Насколько полезно это руководство?