aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/number/tolocalestring/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/number/tolocalestring/index.html')
-rw-r--r--files/uk/web/javascript/reference/global_objects/number/tolocalestring/index.html155
1 files changed, 155 insertions, 0 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/number/tolocalestring/index.html b/files/uk/web/javascript/reference/global_objects/number/tolocalestring/index.html
new file mode 100644
index 0000000000..ad76c974b3
--- /dev/null
+++ b/files/uk/web/javascript/reference/global_objects/number/tolocalestring/index.html
@@ -0,0 +1,155 @@
+---
+title: Number.prototype.toLocaleString()
+slug: Web/JavaScript/Reference/Global_Objects/Number/toLocaleString
+tags:
+ - JavaScript
+ - Number
+ - Інтернаціоналізація
+ - метод
+ - прототип
+translation_of: Web/JavaScript/Reference/Global_Objects/Number/toLocaleString
+original_slug: Web/JavaScript/Reference/Global_Objects/Число/toLocaleString
+---
+<div>{{JSRef}}</div>
+
+<p>Метод <strong><code>toLocaleString()</code></strong> повертає рядок, що відображає число у відповідності до налаштувань мови.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/number-tolocalestring.html")}}</div>
+
+
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate"><code><em>numObj</em>.toLocaleString(</code><code>[locales [, options]])</code></pre>
+
+<h3 id="Параметри">Параметри</h3>
+
+<p>Аргументи <code>locales</code> та <code>options</code> налаштовують поведінку функції та дозволяють застосункам вказувати мову, чиї правила форматування мають застосовуватись. У тих реалізаціях, які ігнорують аргументи <code>locales</code> та <code>options</code>, локальні налаштування та форма поверненого рядка повністю залежать від реалізації.</p>
+
+<div>Дивіться <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat/NumberFormat">конструктор <code>Intl.NumberFormat()</code></a>, щоб дізнатись подробиці щодо цих параметрів та їхнього використання.</div>
+
+<h3 id="Значення_що_повертається">Значення, що повертається</h3>
+
+<p>Рядок, що відображає число у відповідності до налаштувань мови.</p>
+
+<h2 id="Швидкодія">Швидкодія</h2>
+
+<p>При форматуванні великої кількості чисел краще створити об'єкт {{jsxref("NumberFormat")}} та використовувати функцію, надану його властивістю {{jsxref("NumberFormat.format")}}.</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Використання_toLocaleString">Використання <code>toLocaleString</code></h3>
+
+<p>При загальному використанні, без зазначення локалі, повертається рядок у мовному форматі, що стоїть за замовчуванням та з початковими параметрами.</p>
+
+<pre class="brush: js notranslate">var number = 3500;
+
+console.log(number.toLocaleString()); // Відображає "3,500" у форматі U.S. English
+</pre>
+
+<h3 id="Перевірка_підтримки_аргументів_locales_та_options">Перевірка підтримки аргументів <code>locales</code> та <code>options</code></h3>
+
+<p>Аргументи <code>locales</code> та <code>options</code> ще не підтримуються в усіх переглядачах. Для перевірки їхньої підтримки у ES5.1 та новіших реалізаціях можна скористатись вимогою, згідно якої недозволені мовні позначення відхиляються з винятком {{jsxref("Global_Objects/RangeError", "RangeError")}}:</p>
+
+<pre class="brush: js notranslate">function toLocaleStringSupportsLocales() {
+  var number = 0;
+  try {
+    number.toLocaleString('i');
+  } catch (e) {
+   return e.name === 'RangeError';
+ }
+ return false;
+}
+</pre>
+
+<p>До ES5.1, реалізації не були зобов'язані викидати виняток з помилкою діапазону, якщо <code>toLocaleString</code> викликався з аргументами.</p>
+
+<p>Перевірка, яка працює в усіх хостах, в тому числі тих, що підтримують ECMA-262 до версії 5.1, полягає в безпосередньому тестуванні функцій, визначених у ECMA-402 як такі, що зобов'язані підтримувати регіональні налаштування для <code>Number.prototype.toLocaleString</code>:</p>
+
+<pre class="brush: js notranslate">function toLocaleStringSupportsOptions() {
+ return !!(typeof Intl == 'object' &amp;&amp; Intl &amp;&amp; typeof Intl.NumberFormat == 'function');
+}
+</pre>
+
+<p>Цей код перевіряє наявність глобального об'єкта <code>Intl</code>, перевіряє, що він не дорівнює <code>null</code> та що він має властивість <code>NumberFormat</code>, яка є функцією.</p>
+
+<h3 id="Використання_locales">Використання <code>locales</code></h3>
+
+<p>Цей приклад демонструє деякі варіації локалізованих форматів чисел. Щоб отримати формат мови, задіяної в інтерфейсі вашого застосутку, переконайтесь, що вказали цю мову (та, можливо, кілька запасних мов) за допомогою аргументу <code>locales</code>:</p>
+
+<pre class="brush: js notranslate">var number = 123456.789;
+
+// В німецькій десятковим роздільником є кома, а крапка розділяє тисячі
+console.log(number.toLocaleString('de-DE'));
+// → 123.456,789
+
+// Арабська у більшості арабськомовних країн використовує <a href="https://uk.wikipedia.org/wiki/%D0%86%D0%BD%D0%B4%D0%BE-%D0%B0%D1%80%D0%B0%D0%B1%D1%81%D1%8C%D0%BA%D0%B0_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F">Індо-арабські</a> цифри
+console.log(number.toLocaleString('ar-EG'));
+// → ١٢٣٤٥٦٫٧٨٩
+
+// Індія використовує роздільники тисячі/лакх/крор
+console.log(number.toLocaleString('en-IN'));
+// → 1,23,456.789
+
+// ключ розширення nu налаштовує систему нумерації, наприклад, китайську десяткову
+console.log(number.toLocaleString('zh-Hans-CN-u-nu-hanidec'));
+// → 一二三,四五六.七八九
+
+// при запиті мови, яка, можливо, не підтримується, наприклад,
+// балійської, додайте запасні мови, в даному випадку це індонезійська
+console.log(number.toLocaleString(['ban', 'id']));
+// → 123.456,789</pre>
+
+<h3 id="Використання_options">Використання <code>options</code></h3>
+
+<p>Результат методу <code>toLocaleString</code> можна налаштувати за допомогою аргументу <code>options</code>:</p>
+
+<pre class="brush: js notranslate">var number = 123456.789;
+
+// налаштування формату валюти
+console.log(number.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }));
+// → 123.456,79 €
+
+// японська єна не використовує дробові розряди
+console.log(number.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' }))
+// → ¥123,457
+
+// обмежити трьома значущими цифрами
+console.log(number.toLocaleString('en-IN', { maximumSignificantDigits: 3 }));
+// → 1,23,000
+
+// Використовувати мову системи з параметрами для форматування чисел
+var num = 30000.65;
+console.log(num.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}));
+// → "30,000.65" де мова системи англійська, або
+// → "30.000,65" де мова системи німецька, або
+// → "30 000,65" де мова системи французька
+</pre>
+
+<h2 id="Специфікації">Специфікації</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Специфікація</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-number.prototype.tolocalestring', 'Number.prototype.toLocaleString')}}</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sup-number.prototype.tolocalestring', 'Number.prototype.toLocaleString')}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("javascript.builtins.Number.toLocaleString")}}</p>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>{{jsxref("Number.prototype.toString()")}}</li>
+</ul>