# generaltranslation: General Translation Core SDK: formatNum URL: https://generaltranslation.com/ru/docs/core/functions/formatting/format-num.mdx --- title: formatNum description: Автономная функция для форматирования чисел в соответствии с правилами локали --- ## Обзор Автономная функция `formatNum` форматирует числа в соответствии с правилами конкретной локали без необходимости создавать экземпляр GT. Она делает то же самое, что и метод класса GT, но может использоваться независимо. ```typescript 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 | Название | Тип | Описание | | ------------------------ | ---------------------------------------------------------- | ------------------------------------------------------------------ | | `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` — Строка с числом, отформатированным в соответствии с правилами локали. *** ## Пример ### Базовое использование ```typescript copy 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" ``` ### Форматирование валюты ```typescript copy // Доллар США 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`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) * См. [`formatDateTime`](/docs/core/functions/formatting/format-date-time) для автономного форматирования даты * См. [`formatMessage`](/docs/core/functions/formatting/format-message) для автономного форматирования сообщений * См. метод [`formatNum`](/docs/core/class/methods/formatting/format-num) класса GT для использования через экземпляр