# General Translation Platform: formatNum
URL: https://generaltranslation.com/ja/docs/platform/core/reference/utility-functions/formatting/format-num.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: GT インスタンスなしで数値、通貨、パーセンテージなどの値をフォーマットします。formatNum の API リファレンス。

[`formatNum`](/docs/platform/core/reference/gt-class-methods/formatting/format-num) は、General Translation のコアライブラリにあるスタンドアロンのユーティリティ関数で、ロケールごとの規則に従って数値をフォーマットします。小数、通貨、パーセンテージ、単位を、ロケールに応じた文字列として返します。

## 概要 [#overview]

`generaltranslation` から `formatNum` を直接インポートし、フォーマットする数値と options object を渡して呼び出します。APIキーや [GT](/docs/platform/core/reference/gt-class/constructor) インスタンスは不要なため、その場限りの数値フォーマットが必要な場面であればどこでも使えます。インスタンスのロケールを引き継いでフォーマットする場合は、代わりに [`GT`](/docs/platform/core/reference/gt-class/constructor) インスタンスの [`formatNum`](/docs/platform/core/reference/gt-class-methods/formatting/format-num) メソッドを使用してください。

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

const formatted = formatNum(1234.56, {
  locales: 'de-DE',
  style: 'currency',
  currency: 'EUR',
});
// 戻り値: "1.234,56 €"
```

シグネチャ:

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

## 仕組み [#how-it-works]

* **基盤となる API。** GT class メソッドと同じ [`Intl.NumberFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) を使用しているため、標準の `Intl.NumberFormat` オプションをすべてサポートしています。
* **ロケールの決定。** `locales` が配列の場合、ロケールを順に試し、最初にサポートされているロケールを使用します。`locales` を省略した場合は、ライブラリのデフォルトロケールである `en` にフォールバックします。
* **キャッシュ。** パフォーマンス向上のため、同じロケールとオプションの組み合わせでの結果は内部的にキャッシュされます。

## パラメータ [#parameters]

| パラメータ                 | 説明                                                  | 型                                                             | 任意  | デフォルト |
| --------------------- | --------------------------------------------------- | ------------------------------------------------------------- | --- | ----- |
| [`number`](#number)   | 書式設定する数値です。                                         | `number`                                                      | いいえ | —     |
| [`options`](#options) | 対象のロケールと `Intl.NumberFormat` の各種オプションを含む、書式設定の構成です。 | `{ locales?: string \| string[] } & Intl.NumberFormatOptions` | はい  | `{}`  |

### `number` [#number]

**Type** `number` · **必須**

書式設定する数値の値です。

### `options` [#options]

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

フォーマットの構成です。この表では、公開されている コア 型で利用可能な一般的なオプションと、実際に適用される コア のデフォルト値を示します (標準仕様の補足や 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`                    | 数値フォーマットのスタイル。                                                                                                   | `'decimal' \| 'currency' \| 'percent' \| 'unit'`                                                                     | はい | `'decimal'`                                                          |
| `currency`                 | 通貨コード (`style` が `'currency'` の場合は必須) 。                                                                          | `string`                                                                                                             | はい | —                                                                    |
| `currencyDisplay`          | 通貨の表示方法。                                                                                                         | `'symbol' \| 'narrowSymbol' \| 'code' \| 'name'`                                                                     | はい | `'symbol'`                                                           |
| `currencySign`             | 使用する通貨記号。                                                                                                        | `'standard' \| 'accounting'`                                                                                         | はい | `'standard'`                                                         |
| `unit`                     | 単位識別子 (`style` が `'unit'` の場合は必須) 。                                                                              | `string`                                                                                                             | はい | —                                                                    |
| `unitDisplay`              | 単位の表示方法。                                                                                                         | `'short' \| 'narrow' \| 'long'`                                                                                      | はい | `'short'`                                                            |
| `minimumIntegerDigits`     | 整数部の最小桁数 (1～21) 。                                                                                                | `number`                                                                                                             | はい | `1`                                                                  |
| `minimumFractionDigits`    | 小数部の最小桁数 (0～100) 。スタイルによりデフォルトが異なります。                                                                            | `number`                                                                                                             | はい | decimal/percent は `0`、currency は通貨の補助単位の桁数、コンパクト表記のデフォルトでは `0`       |
| `maximumFractionDigits`    | 小数部の最大桁数 (0～100) 。スタイルと最小桁数によりデフォルトが異なります。                                                                       | `number`                                                                                                             | はい | decimal は `3`、percent は `0`、currency は通貨の補助単位の桁数、コンパクト表記のデフォルトでは `0` |
| `minimumSignificantDigits` | 有効桁数による丸めが有効な場合の最小有効桁数 (1～21) 。                                                                                  | `number`                                                                                                             | はい | `1`                                                                  |
| `maximumSignificantDigits` | 有効桁数による丸めが有効な場合の最大有効桁数 (1～21) 。                                                                                  | `number`                                                                                                             | はい | `21`、コンパクト表記のデフォルトでは `2`                                             |
| `roundingPriority`         | 小数部桁数と有効桁数の設定をどのように優先するか。                                                                                        | `'auto' \| 'morePrecision' \| 'lessPrecision'`                                                                       | はい | `'auto'`、コンパクト表記のデフォルトでは `'morePrecision'`                           |
| `notation`                 | 数値表記の形式。                                                                                                         | `'standard' \| 'scientific' \| 'engineering' \| 'compact'`                                                           | はい | `'standard'`                                                         |
| `compactDisplay`           | コンパクト表記の表示スタイル。                                                                                                  | `'short' \| 'long'`                                                                                                  | はい | `'short'`                                                            |
| `useGrouping`              | 桁区切り文字を使用するか、および使用する条件。                                                                                          | `boolean \| 'always' \| 'auto' \| 'min2'`                                                                            | はい | `'auto'`、コンパクト表記では `'min2'`                                          |
| `signDisplay`              | 符号を表示する条件。                                                                                                       | `'auto' \| 'never' \| 'always' \| 'exceptZero' \| 'negative'`                                                        | はい | `'auto'`                                                             |
| `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`                                                                  |
| `trailingZeroDisplay`      | 末尾のゼロを表示するかどうか。                                                                                                  | `'auto' \| 'stripIfInteger'`                                                                                         | はい | `'auto'`                                                             |

分数桁または有効桁に関するオプションを指定せずに `notation: 'compact'` を設定した場合、実効的な桁数のデフォルト値は `minimumFractionDigits: 0`、`maximumFractionDigits: 0`、`minimumSignificantDigits: 1`、`maximumSignificantDigits: 2` です。この場合、`roundingPriority` のデフォルト値は `'morePrecision'`、`useGrouping` のデフォルト値は `'min2'` です。

## 戻り値 [#returns]

**型** `string`

ロケールの規則に従って書式化された数値です。

## 例 [#examples]

```typescript
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
// 通貨のフォーマット

// 米ドル
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"
```

## メモ [#notes]

* GT class method と同じ `Intl.NumberFormat` を基盤として使用します。
* パフォーマンス向上のため、同じロケールとオプションの組み合わせが繰り返される場合、結果は内部的にキャッシュされます。
* プライマリ ロケールがサポートされていない場合は、フォールバック ロケールが順に処理されます。
* 標準の `Intl.NumberFormat` オプションはすべてサポートされています。

## Sitemap

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