Intl.NumberFormat.prototype.format()

Intl.NumberFormat.prototype.format() メソッドは、この NumberFormat オブジェクトのロケールと整形オプションに従って数値を整形します。

構文

numberFormat.format(number)

引数

number
整形する Number または BigInt です。

解説

format ゲッター関数は、この NumberFormat オブジェクトのロケールと整形オプションに従って数値を整形し、文字列に格納します。

format の使用

format ゲッター関数を使用して単一の通貨値を整形しましょう。こちらはロシアの例です。

var options = { style: 'currency', currency: 'RUB' };
var numberFormat = new Intl.NumberFormat('ru-RU', options);
console.log(numberFormat.format(654321.987));
// → "654 321,99 руб."

formatmap の使用

format ゲッター関数を使用して、配列内のすべての数値を整形することができます。なお、この関数は供給元である NumberFormat に結び付けられているので、直接 Array.prototype.map に渡すことができます。

var a = [123456.789, 987654.321, 456789.123];
var numberFormat = new Intl.NumberFormat('es-ES');
var formatted = a.map(numberFormat.format);
console.log(formatted.join('; '));
// → "123.456,789; 987.654,321; 456.789,123"

仕様書

仕様書
ECMAScript Internationalization API (ECMA-402)
Intl.NumberFormat.prototype.format の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
formatChrome 完全対応 24Edge 完全対応 12
補足
完全対応 12
補足
補足 Before Edge 18, numbers are rounded to 15 decimal digits. For example, new Intl.NumberFormat('en-US').format(1000000000000005) returns "1,000,000,000,000,010".
Firefox 完全対応 29IE 完全対応 11
補足
完全対応 11
補足
補足 In Internet Explorer 11, numbers are rounded to 15 decimal digits. For example, new Intl.NumberFormat('en-US').format(1000000000000005) returns "1,000,000,000,000,010".
Opera 完全対応 15Safari 完全対応 10WebView Android 完全対応 4.4Chrome Android 完全対応 25Firefox Android 完全対応 56Opera Android 完全対応 14Safari iOS 完全対応 10Samsung Internet Android 完全対応 1.5nodejs 完全対応 0.12
補足
完全対応 0.12
補足
補足 Before version 13.0.0, only the locale data for en-US is available by default. See the NumberFormat() constructor for more details.

凡例

完全対応  
完全対応
実装ノートを参照してください。
実装ノートを参照してください。

関連情報