# General Translation Platform: formatCurrency
URL: https://generaltranslation.com/ru/docs/platform/core/reference/gt-class-methods/formatting/format-currency.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Форматирует значение Currency по локали в экземпляре GT. Справка по API для formatCurrency.

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` · **Необязательно**

Параметры форматирования. В таблице перечислены распространённые параметры Currency, предоставляемые опубликованными типами Ядра, и их фактические значения по умолчанию в Ядре. (Дополнительные стандартные сведения и сведения, зависящие от Runtime, см. в [параметрах конструктора `Intl.NumberFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options)).

| Имя                        | Описание                                                                                                                                                                                                                                                                     | Тип                                                                                                                  | Необязательно | По умолчанию                                                                             |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------------------------------- |
| `locales`                  | Переопределяет локали для форматирования.                                                                                                                                                                                                                                    | `string \| string[]`                                                                                                 | Да            | `targetLocale` → `sourceLocale` → `en`                                                   |
| `localeMatcher`            | Алгоритм сопоставления локалей.                                                                                                                                                                                                                                              | `'lookup' \| 'best fit'`                                                                                             | Да            | `'best fit'`                                                                             |
| `numberingSystem`          | Система записи чисел, например `latn` или `arab`.                                                                                                                                                                                                                            | `string`                                                                                                             | Да            | `'latn'`                                                                                 |
| `style`                    | Стиль форматирования чисел. `formatCurrency` задаёт стиль Currency, если его не переопределить.                                                                                                                                                                              | `'decimal' \| 'currency' \| 'percent' \| 'unit'`                                                                     | Да            | `'currency'`                                                                             |
| `currency`                 | Код валюты, используемый форматтером. Это значение задаётся позиционным аргументом `currency`, если его не переопределить.                                                                                                                                                   | `string`                                                                                                             | Да            | позиционный аргумент `currency`                                                          |
| `currencyDisplay`          | Способ отображения валюты.                                                                                                                                                                                                                                                   | `'symbol' \| 'narrowSymbol' \| 'code' \| 'name'`                                                                     | Да            | `'symbol'`                                                                               |
| `currencySign`             | Используемый формат обозначения валюты.                                                                                                                                                                                                                                      | `'standard' \| 'accounting'`                                                                                         | Да            | `'standard'`                                                                             |
| `unit`                     | Идентификатор единицы времени. Обязателен, если `style` имеет значение `'unit'`.                                                                                                                                                                                           | `string`                                                                                                             | Да            | —                                                                                        |
| `unitDisplay`              | Способ отображения единицы времени.                                                                                                                                                                                                                                        | `'short' \| 'narrow' \| 'long'`                                                                                      | Да            | `'short'`                                                                                |
| `minimumFractionDigits`    | Минимальное количество знаков после запятой (0–100).                                                                                                                                                                                                                         | `number`                                                                                                             | Да            | количество знаков в дробной части для валюты; `0` при компактных настройках по умолчанию |
| `maximumFractionDigits`    | Максимальное количество знаков после запятой (0–100), не меньше `minimumFractionDigits`.                                                                                                                                                                                     | `number`                                                                                                             | Да            | количество знаков в дробной части для валюты; `0` при компактных настройках по умолчанию |
| `minimumSignificantDigits` | Минимальное количество значащих цифр (1–21), если включено округление по значащим цифрам.                                                                                                                                                                                    | `number`                                                                                                             | Да            | `1`                                                                                      |
| `maximumSignificantDigits` | Максимальное количество значащих цифр (1–21), если включено округление по значащим цифрам.                                                                                                                                                                                   | `number`                                                                                                             | Да            | `21`; `2` при компактных настройках по умолчанию                                         |
| `roundingPriority`         | Взаимодействие настроек знаков после запятой и значащих цифр.                                                                                                                                                                                                                | `'auto' \| 'morePrecision' \| 'lessPrecision'`                                                                       | Да            | `'auto'`; `'morePrecision'` при компактных настройках по умолчанию                       |
| `roundingMode`             | Режим округления.                                                                                                                                                                                                                                                            | `'ceil' \| 'floor' \| 'expand' \| 'trunc' \| 'halfCeil' \| 'halfFloor' \| 'halfExpand' \| 'halfTrunc' \| 'halfEven'` | Да            | `'halfExpand'`                                                                           |
| `roundingIncrement`        | Шаг округления. Значения, отличные от значения по умолчанию, требуют одинакового фактического минимального и максимального количества знаков после запятой и не могут сочетаться с округлением по значащим цифрам или со значением `roundingPriority`, отличным от `'auto'`. | `1 \| 2 \| 5 \| 10 \| 20 \| 25 \| 50 \| 100 \| 200 \| 250 \| 500 \| 1000 \| 2000 \| 2500 \| 5000`                    | Да            | `1`                                                                                      |
| `useGrouping`              | Следует ли использовать разделители групп и когда.                                                                                                                                                                                                                           | `boolean \| 'always' \| 'auto' \| 'min2'`                                                                            | Да            | `'auto'`; `'min2'` при компактных настройках по умолчанию                                |
| `notation`                 | Формат представления чисел.                                                                                                                                                                                                                                                  | `'standard' \| 'scientific' \| 'engineering' \| 'compact'`                                                           | Да            | `'standard'`                                                                             |
| `compactDisplay`           | Стиль отображения в компактной нотации.                                                                                                                                                                                                                                      | `'short' \| 'long'`                                                                                                  | Да            | `'short'`                                                                                |
| `signDisplay`              | Когда отображать знак.                                                                                                                                                                                                                                                       | `'auto' \| 'never' \| 'always' \| 'exceptZero' \| 'negative'`                                                        | Да            | `'auto'`                                                                                 |
| `trailingZeroDisplay`      | Следует ли отображать конечные нули.                                                                                                                                                                                                                                         | `'auto' \| 'stripIfInteger'`                                                                                         | Да            | `'auto'`                                                                                 |

Если `notation: 'compact'` задан без параметров дробных или значимых цифр, по умолчанию используются следующие эффективные значения: `minimumFractionDigits: 0`, `maximumFractionDigits: 0`, `minimumSignificantDigits: 1` и `maximumSignificantDigits: 2`. В этом случае для `roundingPriority` по умолчанию используется значение `'morePrecision'`, а для `useGrouping` — `'min2'`. Для `style: 'unit'` также необходимо указать допустимую единицу времени.

## 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`, чтобы точнее настроить вывод.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
