# General Translation Platform: formatCurrency URL: https://generaltranslation.com/ru/docs/platform/core/reference/gt-class-methods/formatting/format-currency.mdx --- title: formatCurrency description: Форматирует значение Currency по локали в экземпляре GT. Справка по API для formatCurrency. --- Форматирует числовое значение в локализованную строку Currency в экземпляре [GT](/docs/platform/core/reference/gt-class/constructor). General Translation использует встроенный API `Intl.NumberFormat` со стилем `currency`, поэтому суммы отображаются с правильным символом валюты, разделителями разрядов и десятичными знаками для каждой локали. ## Обзор [#overview] Вызовите `formatCurrency` у экземпляра [`GT`](/docs/platform/core/reference/gt-class/constructor), передав числовое значение, код Currency и необязательный объект параметров. Метод возвращает строку с отформатированным значением Currency. ```typescript const gt = new GT({ targetLocale: 'en-US' }); const price = gt.formatCurrency(1234.56, 'USD'); // "$1,234.56" ``` Сигнатура: ```typescript formatCurrency( value: number, currency: string, options?: { locales?: string | string[] } & Intl.NumberFormatOptions ): string ``` *Примечание: `formatCurrency` работает локально с использованием `Intl.NumberFormat` и не требует API-ключа. По умолчанию форматирование применяется к целевой локали экземпляра; если она недоступна, используется исходная локаль, а затем локаль библиотеки по умолчанию (`en`). Чтобы переопределить это поведение, передайте `locales`. О форматировании без экземпляра `GT` см. в отдельной функции [`formatCurrency`](/docs/platform/core/reference/utility-functions/formatting/format-currency).* ## Как это работает [#how-it-works] * **Стиль Currency.** Форматирование выполняется через [`Intl.NumberFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) с `style: 'currency'` и указанным кодом `currency`. * **Определение локали.** По умолчанию метод форматирует значение для целевой локали этого экземпляра, с откатом сначала к исходной локали, а затем к локали библиотеки по умолчанию (`en`) — а не к массиву конфигурации `locales`. Чтобы переопределить это поведение, передайте `locales` в параметре options. * **Положение символа.** Символ валюты, разделители групп разрядов и формат десятичной части определяются выбранной локалью, а не страной валюты. ## Параметры [#parameters] | Параметр | Описание | Тип | Необязательно | По умолчанию | | ----------------------- | -------------------------------------------------------------------------------------------------------- | -------- | ------------- | ------------ | | [`value`](#value) | Числовое значение для форматирования. | `number` | Нет | — | | [`currency`](#currency) | Код валюты по стандарту ISO 4217, например `USD` или `EUR`. | `string` | Нет | — | | [`options`](#options) | Параметры форматирования, расширяющие `Intl.NumberFormatOptions` и позволяющие переопределить `locales`. | `object` | Да | — | ### `value` [#value] **Тип** `number` · **Обязательно** Число, которое нужно отформатировать. ### `currency` [#currency] **Тип** `string` · **Обязательно** Код Currency по стандарту ISO 4217, например `USD`, `EUR` или `JPY`. ### `options` [#options] **Тип** `{ locales?: string | string[] } & Intl.NumberFormatOptions` · **Необязательно** Параметры форматирования. Расширяет `Intl.NumberFormatOptions`, добавляя поле `locales`: | Имя | Описание | Тип | Необязательно | По умолчанию | | --------- | ---------------------------------------------------------------------------- | -------------------- | ------------- | ------------------------- | | `locales` | Переопределяет локали для форматирования. | `string \| string[]` | Да | целевая локаль экземпляра | | `style` | Стиль форматирования чисел; по умолчанию используется форматирование Currency. | `string` | Да | `'currency'` | ## Returns [#returns] **Type** `string` Значение, отформатированное в виде локализованной строки Currency. ## Примеры [#examples] ```typescript import { GT } from 'generaltranslation'; const gt = new GT({ targetLocale: 'en-US' }); // Целевая локаль экземпляра по умолчанию console.log(gt.formatCurrency(1234.56, 'USD')); // Вывод: "$1,234.56" // Переопределение локали для отдельного вызова console.log(gt.formatCurrency(1234.56, 'EUR', { locales: ['de-DE'] })); // Вывод: "1.234,56 €" // Без дробных разрядов console.log(gt.formatCurrency(1234, 'JPY', { locales: ['ja-JP'] })); // Вывод: "¥1,234" ``` ## Заметки [#notes] * Метод использует встроенный в браузер `Intl.NumberFormat`, поэтому формат сумм соответствует правилам локали. * Передайте любые `Intl.NumberFormatOptions` (например, `minimumFractionDigits`) вместе с `locales`, чтобы точнее настроить вывод.