Parseint () - javascript, mdn

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

string Значення, яке необхідно проінтерпретувати. Якщо значення параметра string не належить строковому типу, воно перетворюється в нього (за допомогою абстрактної операції ToString). Прогалини в початку рядка не враховуються. radix Ціле число в діапазоні між 2 і 36, що представляє собою основу системи числення числовий рядки string. описаної вище. В основному користувачі використовують десяткову систему числення і вказують 10. Завжди вказуйте цей параметр, щоб виключити помилки зчитування і гарантувати коректність виконання і передбачуваність результату. Коли основа системи числення не вказано, різні реалізації можуть повертати різні результати.

значення, що повертається

Ціле число, отримане парсинга (розбором і інтерпретацією) переданої рядка. Якщо перший символ не вийшло конвертувати в число, то повертається NaN.

Функція parseInt перетворює перший переданий їй аргумент в строковий тип, інтерпретує його і повертає ціле число або значення NaN. Результат (якщо не NaN) є цілим числом і являє собою перший аргумент (string), розглядається як число в зазначеній системі числення (radix). Наприклад, підстава 10 вказує на перетворення з десяткового числа, 8 - вісімкового, 16 - шістнадцятирічного і так далі. Якщо основа більше 10. то для позначення цифр більше 9 використовуються букви. Наприклад, для шістнадцятирічних чисел (підстава 16) використовуються літери від A до F.

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

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

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

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

З точки зору математики, значення NaN не є числом в будь-якій системі числення. Щоб визначити, чи поверне parseInt значення NaN як результат, можна викликати функцію isNaN. Якщо NaN бере участь в арифметичних операціях, результатом також буде NaN.

Для перетворення числа в рядок у зазначеній системі числення, використовуйте intValue.toString (radix).

Приклад: Використання parseInt

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

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

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

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

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

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

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

ECMAScript 5 усуває восьмеричну інтерпретацію

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

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

У цьому ECMAScript 5 розходиться зі специфікацією ECMAScript 3, в якій восьмерична інтерпретація заохочувалася, але і не була заборонена.

Більш сувора функція інтерпретації

Іноді необхідний більш строгий спосіб інтерпретації цілочисельних значень. У цьому можуть допомогти регулярні вирази:

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

Схожі статті