From 95aca4b4d8fa62815d4bd412fff1a364f842814a Mon Sep 17 00:00:00 2001 From: Ryan Johnson Date: Thu, 29 Apr 2021 16:16:42 -0700 Subject: remove retired locales (#699) --- .../reference/global_objects/parseint/index.html | 215 --------------------- 1 file changed, 215 deletions(-) delete mode 100644 files/uk/web/javascript/reference/global_objects/parseint/index.html (limited to 'files/uk/web/javascript/reference/global_objects/parseint') diff --git a/files/uk/web/javascript/reference/global_objects/parseint/index.html b/files/uk/web/javascript/reference/global_objects/parseint/index.html deleted file mode 100644 index c92f886216..0000000000 --- a/files/uk/web/javascript/reference/global_objects/parseint/index.html +++ /dev/null @@ -1,215 +0,0 @@ ---- -title: parseInt() -slug: Web/JavaScript/Reference/Global_Objects/parseInt -tags: - - JavaScript - - Довідка - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/parseInt ---- -
{{jsSidebar("Objects")}}
- -

Функція parseInt() розбирає рядковий аргумент і повертає число з вказаною основою системи числення.

- -
{{EmbedInteractiveExample("pages/js/globalprops-parseint.html")}}
- - - -

Синтаксис

- -
parseInt(string, radix);
- -

Параметри

- -
-
string
-
Значення, яке розбиратиметься. Якщо цей аргумент не є рядком, тоді він буде перетворений на рядок абстрактною операцією ToString. Пробільні символи на початку аргументу ігноруються.
-
radix  {{optional_inline}}
-
Ціле число між 2 і 36, яке вказує основу (в математичних системах числення) значення string. Будьте обережні — воно не дорівнює за замовчуванням 10!
-
Наведений нижче опис поясює більш детально, що відбувається, якщо значення radix не надане.
-
- -

Повернене значення

- -

Число, отримане з наданого рядка string.

- -

Або {{jsxref("NaN")}}, коли

- - - -

Опис

- -

Функція parseInt перетворює перший аргумент на рядок, розбирає цей рядок, після чого повертає ціле число або NaN.

- -

Якщо не NaN, повернене значення буде цілим числом, яке є першим аргументом, прочитаним як число у вказаній системі числення radix. (Наприклад, radix, що дорівнює 10, перетворює перший аргумент на десяткове число, 8 - на вісімкове, 16 на шістнадцяткове, і т. д.)

- -

Для основ, більших за 10, літери англійського алфавіту позначають цифри, більші за 9. Наприклад, для шістнадцяткових цифр (основа 16) використовуються букви від A до F.

- -

Якщо метод parseInt зустрічає символ, який не є числом у вказаній системі radix, він ігнорує цей символ та усі наступні символи та повертає ціле число, розібране до цієї позиції. parseInt обрізає числа до цілих значень. Пробільні символи попереду та в кінці є дозволеними.

- -

Оскільки деякі числа використовують символ e у своєму рядковому представленні (наприклад, 6.022e23 для 6.022 × 1023), використання parseInt для обрізання чисел призведе до неочікуваних результатів при використанні на дуже великих чи дуже малих числах. parseInt не слід використовувати як заміну {{jsxref("Math.floor()")}}.

- -

Якщо radix дорівнює undefined, 0 або його значення невизначене, JavaScript припускає наступне:

- -
    -
  1. Якщо вхідний рядок string починається з "0x" або "0X" (нуль, за яким іде мала чи велика літера X), вважається, що radix дорівнює 16, а решта рядка розбирається як шістнадцяткове число.
  2. -
  3. Якщо вхідний рядок string починається з "0" (нуль), вважається, що radix дорівнює 8 (вісімкова система) або 10 (десяткова). Яку саме основу буде обрано, залежить від реалізації. ECMAScript 5 пояснює, що має використовуватись 10 (десяткова система), але ще не усі переглядачі це підтримують. З цієї причини завжди вказуйте radix при використанні parseInt.
  4. -
  5. Якщо вхідний рядок string починається з будь-якого іншого значення, основа дорівнює 10 (десяткова).
  6. -
- -

Якщо перша літера не може бути перетворена на число, parseInt вертає NaN.

- -

Для арифметичних цілей, значення NaN не є числом в жодній системі числення. Ви можете викликати функцію {{jsxref("isNaN")}}, щоб визначити, чи результат parseInt дорівнює NaN. Якщо NaN передається у арифметичні операції, результатом операції також буде NaN.

- -

Щоб перетворити число на його рядковий літерал у певній системі числення, використовуйте вашеЧисло.toString(radix).

- -
-

Застереження щодо {{jsxref("BigInt")}}parseInt перетворює {{jsxref("BigInt")}} на {{jsxref("Число", "Number")}} та в процесі втрачає точність, оскільки нечислові значення в кінці аргументу, в тому числі "n", відкидаються.

-
- -

Вісімкові інтерпретації без значення radix

- -

Хоча це не схвалюється у ECMAScript 3 та заборонене у ECMAScript 5, багато реалізацій інтерпретують числові рядки, що починаються з 0, як вісімкові. Наступне може перетворитись на вісімковий результат, а може й на десятковий. Завжди вказуйте radix, щоб запобігти цій ненадійній поведінці.

- -
parseInt('0e0')  // 0
-parseInt('08')   // 0, бо '8' не вісімкова цифра.
- -

Специфікація ECMAScript 5 функції parseInt більше не дозволяє реалізаціям сприймати рядки, що починаються з символу 0, як вісімкові значення.

- -

ECMAScript 5 зазначає:

- -
-

Функція parseInt створює цілочисельне значення, продиктоване інтерпретацією вмісту рядкового аргументу у відповідності до вказаної основи системи числення. Пробільний символ на початку рядка ігнорується. Якщо основа дорівнює undefined або 0, вона вважається рівною 10, окрім випадків, коли число починається з пар символів 0x або 0X, в такому випадку основа вважається рівною 16.

-
- -

Це відрізняється від ECMAScript 3, де вісімкова інтерпретація просто не схвалюється (але дозволена).

- -

У багатьох реалізаціях ця поведінка не адаптована станом на 2013 рік. І, оскільки старші веб-переглядачі мають підтримуватись, завжди вказуйте значення radix.

- -

Більш строга функція розбору

- -

Іноді корисно мати більш строгий спросіб розбору цілих чисел.

- -

Регулярні вирази можуть стати в пригоді:

- -
function filterInt(value) {
-  if (/^[-+]?(\d+|Infinity)$/.test(value)) {
-    return Number(value)
-  } else {
-    return NaN
-  }
-}
-
-console.log(filterInt('421'))                // 421
-console.log(filterInt('-421'))               // -421
-console.log(filterInt('+421'))               // 421
-console.log(filterInt('Infinity'))           // Infinity
-console.log(filterInt('421e+0'))             // NaN
-console.log(filterInt('421hop'))             // NaN
-console.log(filterInt('hop1.61803398875'))   // NaN
-console.log(filterInt('1.61803398875'))      // NaN
- -

Приклади

- -

Використання parseInt

- -

Усі наступні приклади повертають 15:

- -
parseInt('0xF', 16)
-parseInt('F', 16)
-parseInt('17', 8)
-parseInt(021, 8)
-parseInt('015', 10)   // але `parseInt(015, 10)` поверне 13
-parseInt(15.99, 10)
-parseInt('15,123', 10)
-parseInt('FXX123', 16)
-parseInt('1111', 2)
-parseInt('15 * 3', 10)
-parseInt('15e2', 10)
-parseInt('15px', 10)
-parseInt('12', 13)
-
- -

Усі наступні приклади повертають NaN:

- -
parseInt('Привіт', 8) // Зовсім не число
-parseInt('546', 2)    // Числа, інші, ніж 0 чи 1, недозволені у двійковій системі
-
- -

Усі наступні приклади повертають -15:

- -
parseInt('-F', 16)
-parseInt('-0F', 16)
-parseInt('-0XF', 16)
-parseInt(-15.1, 10)
-parseInt('-17', 8)
-parseInt('-15', 10)
-parseInt('-1111', 2)
-parseInt('-15e1', 10)
-parseInt('-12', 13)
-
- -

Усі наступні приклади повертають 4:

- -
parseInt(4.7, 10)
-parseInt(4.7 * 1e22, 10) // Дуже велике число стає 4
-parseInt(0.00000000000434, 10) // Дуже маленьке число стає 4
-
- -

Якщо число більше за 1e+21 (включно) або менше за 1e-7 (включно), метод поверне 1. (при використанні основи 10).

- -
parseInt(0.0000001,10);
-parseInt(0.000000123,10);
-parseInt(1e-7,10);
-parseInt(1000000000000000000000,10);
-parseInt(123000000000000000000000,10);
-parseInt(1e+21,10);
- -

Наступний приклад повертає 224:

- -
parseInt('0e0', 16)
-
- -

Значення {{jsxref("BigInt")}} втрачають точність:

- -
parseInt(900719925474099267n)
-// 900719925474099300
- -

parseInt не працює з числовими роздільниками:

- -
parseInt('123_456');
-// 123
-
- -

Специфікації

- - - - - - - - - - -
Специфікація
{{SpecName('ESDraft', '#sec-parseint-string-radix', 'parseInt')}}
- -

Сумісність з веб-переглядачами

- - - -

{{Compat("javascript.builtins.parseInt")}}

- -

Див. також

- - -- cgit v1.2.3-54-g00ecf