Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. 標準組み込みオブジェクト
  5. Intl
  6. Intl.NumberFormat

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

Intl.NumberFormat

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2017年9月⁩.

* Some parts of this feature may have varying levels of support.

Intl.NumberFormat オブジェクトは、言語に依存した数値書式を可能にするオブジェクトのコンストラクターです。

試してみましょう

const number = 123456.789;console.log(  new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR" }).format(    number,  ),);// 予想される結果: "123.456,79 €"// 日本円は副単位を使用しないconsole.log(  new Intl.NumberFormat("ja-JP", { style: "currency", currency: "JPY" }).format(    number,  ),);// 予想される結果: "¥123,457"// 有効桁数を 3 桁に制限console.log(  new Intl.NumberFormat("en-IN", { maximumSignificantDigits: 3 }).format(    number,  ),);// 予想される結果: "1,23,000"

コンストラクター

Intl.NumberFormat()

新しいNumberFormat オブジェクトを生成します。

静的メソッド

Intl.NumberFormat.supportedLocalesOf()

提供されたロケールのうち、実行時の既定のロケールに代替せずに対応しているものを配列に収めて返します。

インスタンスプロパティ

これらのプロパティはIntl.NumberFormat.prototype で定義されており、すべてのIntl.NumberFormat インスタンスで共有されます。

Intl.NumberFormat.prototype.constructor

インスタンスオブジェクトを作成したコンストラクター関数。Intl.NumberFormat インスタンスの場合、初期値はIntl.NumberFormat コンストラクターです。

Intl.NumberFormat.prototype[Symbol.toStringTag]

[Symbol.toStringTag] プロパティの初期値は、文字列"Intl.NumberFormat" です。このプロパティはObject.prototype.toString() で使用されます。

インスタンスメソッド

Intl.NumberFormat.prototype.format()

ゲッター関数で、ロケールに応じて、このIntl.NumberFormat オブジェクトのオプションを持つ数値を書式化する関数を返します。

Intl.NumberFormat.prototype.formatRange()

ゲッター関数で、メソッドが呼び出されたIntl.NumberFormat オブジェクトのロケールおよび書式設定オプションに従って、数値の範囲を書式化します。

Intl.NumberFormat.prototype.formatRangeToParts()

オブジェクトのArray を返し、これは専用のロケールを意識した書式で使用することができる部品内の数値文字列を表します。

Intl.NumberFormat.prototype.formatToParts()

Array で、カスタムロケールに対応した書式化に使用できる、数値文字列を表すオブジェクトの配列を返します。

Intl.NumberFormat.prototype.resolvedOptions()

ロケールを反映しているプロパティとオブジェクトの初期化中に計算された照合オプションをもった新しいオブジェクトを返します。

基本的な使用

ロケールを指定しない基本的な使い方では、既定のロケールとオプションで書式化された文字列が返されます。

js
const number = 3500;console.log(new Intl.NumberFormat().format(number));// '3,500' 英語 (US) ロケールの場合

locales の使用

この例では、地域による数値書式の違いをいくつか紹介します。アプリケーションのユーザーインターフェイスで使われた言語書式を得るには、言語 (およびフォールバック言語) をlocales 引数により指定してください。

js
const number = 123456.789;// ドイツではカンマを小数、ピリオドを千単位の区切りに用いますconsole.log(new Intl.NumberFormat("de-DE").format(number));// 123.456,789// ほとんどのアラビア語圏ではアラビア数字を用いますconsole.log(new Intl.NumberFormat("ar-EG").format(number));// ١٢٣٤٥٦٫٧٨٩// インドでは thousands/lakh/crore 区切りが用いられますconsole.log(new Intl.NumberFormat("en-IN").format(number));// 1,23,456.789// nu 拡張キーにより漢数字などの番号方式が使えますconsole.log(new Intl.NumberFormat("zh-Hans-CN-u-nu-hanidec").format(number));// 一二三,四五六.七八九// バリ語のように対応していない可能性がある言語を用いる場合は// 代替言語を含めます。次の例ではインドネシア語ですconsole.log(new Intl.NumberFormat(["ban", "id"]).format(number));// 123.456,789

options の使用

options 引数を使うと、結果をカスタマイズできます。

js
const number = 123456.789;// 通貨の書式を用いますconsole.log(  new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR" }).format(    number,  ),);// 123.456,79 €// 日本円には副単位がありませんconsole.log(  new Intl.NumberFormat("ja-JP", { style: "currency", currency: "JPY" }).format(    number,  ),);// ¥123,457// 有効数字を 3 桁に狭めますconsole.log(  new Intl.NumberFormat("en-IN", { maximumSignificantDigits: 3 }).format(    number,  ),);// 1,23,000// 単位付きの整形console.log(  new Intl.NumberFormat("pt-PT", {    style: "unit",    unit: "kilometer-per-hour",  }).format(50),);// 50 km/hconsole.log(  (16).toLocaleString("en-GB", {    style: "unit",    unit: "liter",    unitDisplay: "long",  }),);// 16 litres

オプションの完全なリストについては、Intl.NumberFormat() コンストラクターページを参照してください。

仕様書

Specification
ECMAScript® 2026 Internationalization API Specification
# numberformat-objects

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp