Utility FunctionsFormatting

formatNum

Отдельная функция для форматирования чисел по правилам локали

Обзор

Отдельная функция formatNum форматирует числа в соответствии с локальными правилами и не требует экземпляра GT. Она предоставляет ту же функциональность, что и метод класса GT, но может использоваться самостоятельно.

import { formatNum } from 'generaltranslation';

const formatted = formatNum(1234.56, {
  locales: 'de-DE',
  style: 'currency',
  currency: 'EUR'
});
// Возвращает: «1.234,56 €»

Справочные материалы

Параметры

ИмяТипОписание
numbernumberЧисло для форматирования
optionsNumberFormatOptions & { locales: string | string[] }Параметры форматирования с обязательным указанием локали(й)

NumberFormatOptions

NameTypeDescription
localesstring | 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 для специализированного форматирования валют

Насколько полезно это руководство?

formatNum