# General Translation Platform: formatCurrency
URL: https://generaltranslation.com/ja/docs/platform/core/reference/utility-functions/formatting/format-currency.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: GT インスタンスを使わずに、ロケールごとに通貨値を整形します。formatCurrency の API リファレンス。

[`formatCurrency`](/docs/platform/core/reference/gt-class-methods/formatting/format-currency) は、General Translation のコアライブラリに含まれる単体で使えるユーティリティ関数で、数値をロケールに応じたローカライズされた通貨文字列として整形します。通貨スタイルを指定した組み込みの `Intl.NumberFormat` API をラップしたものです。

## 概要 [#overview]

`generaltranslation` から `formatCurrency` を直接インポートし、値、通貨コード、options object を指定して呼び出します。API Key や [GT](/docs/platform/core/reference/gt-class/constructor) インスタンスは不要です。インスタンスのロケールを引き継いで書式設定する場合は、代わりに [`GT`](/docs/platform/core/reference/gt-class/constructor) インスタンスの [`formatCurrency`](/docs/platform/core/reference/gt-class-methods/formatting/format-currency) メソッドを使用してください。

```typescript
import { formatCurrency } from 'generaltranslation';

const price = formatCurrency(1234.56, 'EUR', { locales: ['de-DE'] });
// "1.234,56 €"
```

シグネチャ:

```typescript
formatCurrency(
  value: number,
  currency: string,
  options?: { locales?: string | string[] } & Intl.NumberFormatOptions
): string
```

## 動作の仕組み [#how-it-works]

* **基盤となる API。** GT class method と同様に、`style: 'currency'` を指定した [`Intl.NumberFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) を使用します。
* **ロケールの決定。** `locales` を省略すると、ライブラリのデフォルトロケールである `en` が使用されます。
* **記号の配置。** 通貨記号、桁区切り記号、小数の形式は、決定されたロケールに従います。

## パラメーター [#parameters]

| パラメーター                  | 説明                                  | 型                                                             | 任意  | デフォルト |
| ----------------------- | ----------------------------------- | ------------------------------------------------------------- | --- | ----- |
| [`value`](#value)       | フォーマットする数値です。                       | `number`                                                      | いいえ | —     |
| [`currency`](#currency) | `USD` や `EUR` などの ISO 4217 通貨コードです。 | `string`                                                      | いいえ | —     |
| [`options`](#options)   | 対象のロケールを含むフォーマットオプションです。            | `{ locales?: string \| string[] } & Intl.NumberFormatOptions` | はい  | `{}`  |

### `value` [#value]

**型** `number` · **必須**

フォーマットする数値。

### `currency` [#currency]

**Type** `string` · **必須**

`USD`、`EUR`、`JPY` などの ISO 4217 の通貨コード。

### `options` [#options]

**型** `{ locales?: string | string[] } & Intl.NumberFormatOptions` · **任意** · **デフォルト** `{}`

フォーマット設定。表には、公開されている Core 型で利用できる主な通貨オプションと、Core で実際に適用されるデフォルト値を示します (標準仕様および Runtime 固有の補足情報については、[`Intl.NumberFormat` コンストラクターオプション](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options)を参照してください) 。

| プロパティ                      | 説明                                                                                                             | 型                                                                                                                    | 任意 | デフォルト                                      |
| -------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -- | ------------------------------------------ |
| `locales`                  | フォーマットに使用するロケール。                                                                                               | `string \| string[]`                                                                                                 | はい | `en`                                       |
| `localeMatcher`            | ロケール照合アルゴリズム。                                                                                                  | `'lookup' \| 'best fit'`                                                                                             | はい | `'best fit'`                               |
| `numberingSystem`          | `latn` や `arab` などの数字体系。                                                                                       | `string`                                                                                                             | はい | `'latn'`                                   |
| `style`                    | 数値フォーマットのスタイル。オーバーライドしない限り、`formatCurrency` で通貨スタイルが指定されます。                                                    | `'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`        | 丸めの増分。デフォルト以外の値を指定するには、有効な最小小数桁数と最大小数桁数が同じである必要があり、有効桁数による丸めや `'auto'` 以外の `roundingPriority` と組み合わせることはできません。 | `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'` を設定する場合は、有効な `unit` も必要です。

## 戻り値 [#returns]

**型** `string`

ローカライズされた通貨文字列としてフォーマットされた値。

## 例 [#examples]

```typescript
import { formatCurrency } from 'generaltranslation';

// 米ドル
console.log(formatCurrency(1234.56, 'USD', { locales: 'en-US' }));
// Output: "$1,234.56"

// ユーロ、ドイツロケール
console.log(formatCurrency(1234.56, 'EUR', { locales: 'de-DE' }));
// Output: "1.234,56 €"

// 日本円（小数点以下なし）
console.log(formatCurrency(1234, 'JPY', { locales: 'ja-JP' }));
// Output: "￥1,234"
```

## メモ [#notes]

* 正確で一貫した出力を得るため、必ず `locales` に明示的な値を渡してください。
* 出力を細かく調整するには、`locales` とあわせて任意の `Intl.NumberFormatOptions` (たとえば `minimumFractionDigits`) を渡してください。

## Sitemap

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