From d63ce0713058506d53aabc50e24e0c0162b42acd Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Fri, 17 Sep 2021 23:47:15 +0900 Subject: Update index.md --- .../global_objects/number/tolocalestring/index.md | 197 ++++++++------------- 1 file changed, 78 insertions(+), 119 deletions(-) (limited to 'files/ja/web/javascript/reference/global_objects/number') diff --git a/files/ja/web/javascript/reference/global_objects/number/tolocalestring/index.md b/files/ja/web/javascript/reference/global_objects/number/tolocalestring/index.md index 12bf3f35c4..24c5b76b6d 100644 --- a/files/ja/web/javascript/reference/global_objects/number/tolocalestring/index.md +++ b/files/ja/web/javascript/reference/global_objects/number/tolocalestring/index.md @@ -2,188 +2,147 @@ title: Number.prototype.toLocaleString() slug: Web/JavaScript/Reference/Global_Objects/Number/toLocaleString tags: - - Internationalization + - 国際化 - JavaScript - - Method + - メソッド - Number - - Prototype + - プロトタイプ +browser-compat: javascript.builtins.Number.toLocaleString translation_of: Web/JavaScript/Reference/Global_Objects/Number/toLocaleString --- -
{{JSRef}}
+{{JSRef}} -

toLocaleString() メソッドは、この数値を表す言語依存の文字列を返します。

+**`toLocaleString()`** メソッドは、この数値を表す言語依存の文字列を返します。 -
{{EmbedInteractiveExample("pages/js/number-tolocalestring.html")}}
+{{EmbedInteractiveExample("pages/js/number-tolocalestring.html")}} +## 構文 +```js +toLocaleString() +toLocaleString(locales) +toLocaleString(locales, options) +``` -

新しい localesoptions 引数で アプリケーションは フォーマット変換で使われる言語を指定でき、関数の振る舞いをカスタマイズできます。古い実装では、localesoptions 引数は無視され、使われるロケールや返される文字列の形式は完全に実装依存です。

+### 引数 -

構文

+`locales` と `options` 引数で機能の動作をカスタマイズすることができ、アプリケーションが書式化の習慣を用いる言語を指定することができます。`locales` と `options` の引数を無視する実装では、使用されるロケールや返される文字列の形式は、完全に実装依存になります。 -
numObj.toLocaleString([locales [, options]])
+引数と使い方について詳しくは、[`Intl.NumberFormat()` +コンストラクター](/ja/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat)を参照してください。 -

引数

+### 返値 -

どのブラウザーが locales 引数と options 引数をサポートしているか確かめるためにブラウザー実装状況セクションを調べてください。特徴検出のために例: locales 引数と options 引数をサポートしているか調べるを調べてください。

+指定された数値の言語依存の表現による文字列です。 -
-

注意: Firefox 29 で実装されている ECMAScript 国際化 API では、locales 引数が Number.toLocaleString() メソッドに追加されました。引数が {{jsxref("undefined")}} なら、このメソッドは OS によって指定されたローカライズされた数値を返します。Firefox の以前のバージョンでは、英語の数字が返されます。この変更はすぐに修正される可能性がある下位互換性に影響を与える回帰として報告されています。({{bug(999003)}})

-
+## 性能 -
{{page('/ja/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat', 'Parameters')}}
+たくさんの数を整形する場合は、{{jsxref("Intl.NumberFormat")}} オブジェクトを生成して {{jsxref("Intl/NumberFormat/format", "format")}} プロパティで提供される関数を使用することをお勧めします。 -

戻り値

+## 例 -

渡された数値を表す、言語依存の文字列です。

+### `toLocaleString` を使う -

+ロケールを指定しない基本的な使用です。既定のロケールと既定のオプションの整形された文字列が返されます。 -

toLocaleString を使う

+```js +var number = 3500; -

ロケールを指定しない基本的な使用で、デフォルトロケールとデフォルトオプションのフォーマットされた文字列が返されます。

+console.log(number.toLocaleString()); // アメリカ英語のロケールでは "3,500" を表示 +``` -
var number = 3500;
+### `locales` 引数と `options` 引数に対応しているかどうかを調べる
 
-console.log(number.toLocaleString()); // Displays "3,500" if in U.S. English locale
-
+`locales` 引数と `options` 引数はまだすべてのブラウザーで対応しているわけではありません。不正な言語タグが {{jsxref("Global_Objects/RangeError", "RangeError")}} 例外で拒否されるという要件を利用することで、実装がすでに対応しているかどうかを調べられます。 -

locales 引数と options 引数をサポートしているか調べる

- -

locales 引数と options 引数はまだすべてのブラウザーでサポートされておりません。不正な言語タグが {{jsxref("Global_Objects/RangeError", "RangeError")}} 例外で拒否される要件を使うことで、実装がすでにサポートしているかどうかを調べられます。

- -
function toLocaleStringSupportsLocales() {
-  var number = 0;
-  try {
-    number.toLocaleString('i');
-  } catch (e) {
-    return e​.name === 'RangeError';
+```js
+function toLocaleStringSupportsLocales() {
+  var number = 0;
+  try {
+    number.toLocaleString('i');
+  } catch (e) {
+    return e.name === 'RangeError';
   }
   return false;
 }
-
+``` -

ES5.1 以前の実装では、引数を使って toLocaleString を呼んだ場合に {{jsxref("RangeError")}} 例外を throw する必要はありませんでした。

+ES5.1 以前の実装では、引数を使って `toLocaleString` を呼んだ場合に {{jsxref("RangeError")}} 例外を throw する必要はありませんでした。 -

5.1 以前の ECMAScript をサポートしているものも含めたすべてのホストで動くチェックは、直接 Number.prototype.toLocaleString の地域オプションのサポートに必要な ECMA-402 で指定された機能をテストすることで行えます。

+5.1 以前の ECMAScript をサポートしているものも含めたすべてのホストで動くチェックは、直接 `Number.prototype.toLocaleString` の地域オプションのサポートに必要な ECMA-402 で指定された機能をテストすることで行えます。 -
function toLocaleStringSupportsOptions() {
-  return !!(typeof Intl == 'object' && Intl && typeof Intl.NumberFormat == 'function');
-}
+```js +function toLocaleStringSupportsOptions() { + return !!(typeof Intl == 'object' && Intl && typeof Intl.NumberFormat == 'function'); +} +``` -

上記のコードは、グローバル Intl オブジェクトが null でないことと、Intl オブジェクトが NumberFormat プロパティを持ち、それが関数であることをテストします。

+上記のコードは、グローバル `Intl` オブジェクトが `null` でないことと、`Intl` オブジェクトが `NumberFormat` プロパティを持ち、それが関数であることをテストします。 -

locales を使う

+### `locales` を使う -

この例ではローカライズされた数値変換のバリエーションのいくつかを示します。アプリケーションのユーザーインターフェイスで使われる言語の形式を得るために、locales 引数を用いている言語(そしておそらくいくつかのフォールバック言語)を明示することを確かめてください。

+この例ではローカライズされた数値変換のバリエーションのいくつかを示します。アプリケーションのユーザーインターフェイスで使われる言語の形式を得るために、`locales` 引数を用いている言語(そしておそらくいくつかのフォールバック言語)を明示することを確かめてください。 -
var number = 123456.789;
+```js
+var number = 123456.789;
 
-// German uses comma as decimal separator and period for thousands
+// ドイツ語では小数点にカンマを用い、千の桁区切りにピリオドを用いる
 console.log(number.toLocaleString('de-DE'));
 // → 123.456,789
 
-// Arabic in most Arabic speaking countries uses real Arabic digits
+// 多くのアラビア語圏の国のアラビア語では、東アラビア数字を用いる
 console.log(number.toLocaleString('ar-EG'));
 // → ١٢٣٤٥٦٫٧٨٩
 
-// India uses thousands/lakh/crore separators
+// インド語では thousands/lakh/crore の区切りを用いる
 console.log(number.toLocaleString('en-IN'));
 // → 1,23,456.789
 
-// the nu extension key requests a numbering system, e.g. Chinese decimal
+// nu 拡張キーでは、中国の数字などの計数法をリクエストする
 console.log(number.toLocaleString('zh-Hans-CN-u-nu-hanidec'));
 // → 一二三,四五六.七八九
 
-// when requesting a language that may not be supported, such as
-// Balinese, include a fallback language, in this case Indonesian
+// バリ語など対応していない可能性のある言語をリクエストする場合は、
+// 予備の言語 (この場合はインドネシア語) を含める
 console.log(number.toLocaleString(['ban', 'id']));
 // → 123.456,789
-
+``` -

options を使う

+### `options` を使う -

toLocaleString によって得られる結果は options 引数を使用してカスタマイズできます。

+`toLocaleString` によって得られる結果は `options` 引数を使用してカスタマイズできます。 -
var number = 123456.789;
+```js
+var number = 123456.789;
 
-// request a currency format
+// 通貨形式をリクエスト
 console.log(number.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }));
 // → 123.456,79 €
 
-// the Japanese yen doesn't use a minor unit
+// 日本円には副単位がない
 console.log(number.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' }))
 // → ¥123,457
 
-// limit to three significant digits
+// 有効桁数を 3 桁に制限
 console.log(number.toLocaleString('en-IN', { maximumSignificantDigits: 3 }));
 // → 1,23,000
 
-// Use the host default language with options for number formatting
+// 数値の書式化にホストの既定の言語とオプションを使用する
 var num = 30000.65;
 console.log(num.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}));
 // → "30,000.65" where English is the default language, or
 // → "30.000,65" where German is the default language, or
 // → "30 000,65" where French is the default language
-
- -

性能

- -

多数の数値をフォーマットするとき、{{jsxref("NumberFormat")}} オブジェクトを生成して {{jsxref("NumberFormat.format")}} プロパティによって得られる関数を使用するほうが良いです。

- -

仕様

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
仕様書状況コメント
{{SpecName('ES3')}}{{Spec2('ES3')}}初期定義です。JavaScript 1.5 で実装されました。
{{SpecName('ES5.1', '#sec-15.7.4.3', 'Number.prototype.toLocaleString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.prototype.tolocalestring', 'Number.prototype.toLocaleString')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-number.prototype.tolocalestring', 'Number.prototype.toLocaleString')}}{{Spec2('ESDraft')}} 
{{SpecName('ES Int 1.0', '#sec-13.2.1', 'Number.prototype.toLocaleString')}}{{Spec2('ES Int 1.0')}} 
{{SpecName('ES Int 2.0', '#sec-13.2.1', 'Number.prototype.toLocaleString')}}{{Spec2('ES Int 2.0')}} 
{{SpecName('ES Int Draft', '#sec-Number.prototype.toLocaleString', 'Number.prototype.toLocaleString')}}{{Spec2('ES Int Draft')}} 
- -

ブラウザー実装状況

- -

{{Compat("javascript.builtins.Number.toLocaleString")}}

- -

関連情報

- - +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{jsxref("Number.prototype.toString()")}} -- cgit v1.2.3-54-g00ecf