Elettracompany.com

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Javascript int parse

parseInt()

On this Page

The parseInt() function parses a string argument and returns an integer of the specified radix (the base in mathematical numeral systems).

The source for this interactive example is stored in a GitHub repository. If you’d like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.

Syntax

Parameters

Return value

An integer parsed from the given string .

  • the radix is smaller than 2 or bigger than 36 , or
  • the first non-whitespace character cannot be converted to a number.

Description

The parseInt function converts its first argument to a string, parses that string, then returns an integer or NaN .

If not NaN , the return value will be the integer that is the first argument taken as a number in the specified radix . (For example, a radix of 10 converts from a decimal number, 8 converts from octal, 16 from hexadecimal, and so on.)

For radices above 10 , letters of the English alphabet indicate numerals greater than 9 . For example, for hexadecimal numbers (base 16 ), A through F are used.

If parseInt encounters a character that is not a numeral in the specified radix , it ignores it and all succeeding characters and returns the integer value parsed up to that point. parseInt truncates numbers to integer values. Leading and trailing spaces are allowed.

Because some numbers use the e character in their string representation (e.g. 6.022e23 for 6.022 × 10 23 ), using parseInt to truncate numbers will produce unexpected results when used on very large or very small numbers. parseInt should not be used as a substitute for Math.floor() .

parseInt understands exactly two signs: + for positive, and — for negative (since ECMAScript 1). It is done as an initial step in the parsing after whitespace is removed. If no signs are found, the algorithm moves to the following step; otherwise, it removes the sign and runs the number-parsing on the rest of the string.

If radix is undefined , 0 , or unspecified, JavaScript assumes the following:

  1. If the input string begins with » 0x » or » 0X » (a zero, followed by lowercase or uppercase X), radix is assumed to be 16 and the rest of the string is parsed as a hexidecimal number.
  2. If the input string begins with » 0 » (a zero), radix is assumed to be 8 (octal) or 10 (decimal). Exactly which radix is chosen is implementation-dependent. ECMAScript 5 clarifies that 10 (decimal) should be used, but not all browsers support this yet. For this reason, always specify a radix when using parseInt .
  3. If the input string begins with any other value, the radix is 10 (decimal).

If the first character cannot be converted to a number, parseInt returns NaN .

For arithmetic purposes, the NaN value is not a number in any radix. You can call the isNaN function to determine if the result of parseInt is NaN . If NaN is passed on to arithmetic operations, the operation result will also be NaN .

To convert a number to its string literal in a particular radix, use thatNumber .toString( radix ) .

BigInt Warning: parseInt converts a BigInt to a Number and loses precision in the process. This is because trailing non-numeric values, including » n «, are discarded.

Examples

Using parseInt

The following examples all return 15 :

The following examples all return NaN :

The following examples all return -15 :

The following examples all return 4 :

The following example returns 224 :

BigInt values lose precision:

parseInt doesn’t work with numeric separators:

Octal interpretations with no radix

Although discouraged by ECMAScript 3 and forbidden by ECMAScript 5, many implementations interpret a numeric string beginning with a leading 0 as octal. The following may have an octal result, or it may have a decimal result. Always specify a radix to avoid this unreliable behavior.

ECMAScript 5 removes octal interpretation

The ECMAScript 5 specification of the function parseInt no longer allows implementations to treat Strings beginning with a 0 character as octal values.

ECMAScript 5 states:

The parseInt function produces an integer value dictated by interpretation of the contents of the string argument according to the specified radix. Leading whitespace in string is ignored. If radix is undefined or 0 , it is assumed to be 10 except when the number begins with the character pairs 0x or 0X , in which case a radix of 16 is assumed.

Читать еще:  Java пространство имен

This differs from ECMAScript 3, which merely discouraged (but allowed) octal interpretation.

Many implementations have not adopted this behavior as of 2013. And, because older browsers must be supported, always specify a radix.

A stricter parse function

It is sometimes useful to have a stricter way to parse integers.

Integer и Float в Javascript

10.01 способ привести и проверить

Если у вас есть необходимость работать не просто с числовым типом (number) в Javascript, а уметь отделять Float от Integer, то предлагаю сборник юзкейсов. Рассмотрим следующие юзкейсы:

  1. Приведение к Integer
  2. Приведение к Float
  3. Проверить является ли число типа Int или типа Float

Конечно в Javascript слишком тонка грань между Int и Float, тем не менее она существует и этим можно пользоваться.

Привести что угодно к типу Int в Javascript можно разными способами. Ниже перечислены все известные мне.

ES6 функция Math.trunc

Метод Math.trunc() возвращает целую часть числа путём удаления всех дробных знаков.

Битовый сдвиг на 0

Битовое ИЛИ

Битовое отрицание

Использование TypedArray

Округление

Округление любой из функций, в зависимости от ваших потребностей.

parseInt

Функция parseInt() принимает строку в качестве аргумента и возвращает целое число в соответствии с указанным основанием системы счисления.

string — значение, которое необходимо проинтерпретировать. Если значение параметраstring не принадлежит строковому типу, оно преобразуется в него. Пробелы в начале строки не учитываются.

radix — целое число в диапазоне между 2 и 36, представляющее собой основание системы счисления числовой строки, описанной выше. Всегда указывайте этот параметр, чтобы исключить ошибки считывания и гарантировать корректность исполнения. Когда основание системы счисления не указано, разные реализации могут возвращать разные результаты.

Привести число к Float

Тут все просто, а методов не так много.

parseFloat — это высокоуровневая функция, не привязанная ни к одному объекту.

parseFloat разбирает текстовую строку, ищет и возвращает из нее десятичное число. Если функция встретит знак, отличный от (+ или -), цифр(0–9), разделительной точки, или показателя степени, она вернет значение, предшествующее этому знаку, игнорируя все последующие символы . Допускаются позади и впереди идущие пробелы.

Если первый символ нельзя привести к числовому виду , parseFloat вернет NaN.

С точки зрения математики, значение NaN не является числом в какой-либо системе счисления. Чтобы определить, вернет ли parseFloat значение NaN в качестве результата, можно вызвать функцию isNaN. Если NaN участвует в арифметических операциях, результатом также будет NaN.

parseFloat также может вернуть значение “бесконечность” — Infinity. Вы можете использовать isFinite функцию, чтобы определить, является ли результат конечным числом (not Infinity, -Infinity, или NaN).

Тип Number в Javascript по сути является типом Float.

Другие способы привести:

Проверить является ли число типа Int

ES6 Функция isInteger

Если целевое значение является целым числом, возвращает true, в противном случае возвращает false. Если значение является NaN или бесконечностью, возвращаетfalse.

Функции isInt и isFloat

Самописные реализации функций для проверки на Integer и Float.

Как преобразовать строку в целое число в JavaScript?

1381 [2009-07-15 23:22:00]

Как преобразовать string в integer в JavaScript?

javascript string integer parseint

21 ответ

1764 Решение Nosredna [2009-07-15 23:28:00]

Самый простой способ — использовать встроенную функцию Number :

Если это не работает для вас, то есть parseInt, унарный плюс, parseFloat с полом и Math.round.

унарный плюс если ваша строка уже находится в виде целого числа:

если ваша строка является или может быть плавающей точкой и вам нужно целое число:

или, если вы собираетесь использовать Math.floor несколько раз:

Если вы тот тип, который забывает вставлять radix, когда вы вызываете parseInt, вы можете использовать parseFloat и округлять его, как вам нравится. Здесь я использую пол.

Интересно, что Math.round(например, Math.floor) будет преобразовывать строку в числовое преобразование, поэтому, если вы хотите, чтобы число округлено (или если у вас есть целое число в строке), это отличный способ, может быть, мой любимый

193 Zanoni [2009-07-15 23:23:00]

Попробуйте функцию parseInt:

Но есть проблема. Если вы попытаетесь преобразовать «010» с помощью функции parseInt, он обнаруживает восьмеричное число и вернет номер 8. Итак, вам нужно указать радиус (от 2 до 36). В этом случае база 10.

Читать еще:  Класс timer java

Существует два основных способа преобразования строки в число в javascript. Один из способов — проанализировать его, а другой способ — изменить его тип на число. Все трюки в других ответах (например, унарный плюс) подразумевают неявное принуждение типа строки к числу. Вы также можете сделать то же самое с помощью функции Number.

Синтаксический

parseInt и parseFloat — это две функции, используемые для разбора строк на числа. Синтаксический анализ остановится молча, если он попадет в символ, который он не распознает, что может быть полезно для синтаксического анализа строк, например «92px», но это также несколько опасно, поскольку оно не даст вам никакой ошибки при плохом вводе, вместо этого вы ‘вернем NaN, если строка не начинается с числа. Пробел в начале строки игнорируется. Вот пример того, что он делает что-то по-другому, что вам нужно, и не указывает, что что-то пошло не так:

Хорошая практика всегда указывать в качестве второго аргумента. В старых браузерах, если строка начиналась с 0, она была бы интерпретирована как восьмеричная, если бы не было указано значение radix, которое привлекло много людей врасплох. Поведение для шестнадцатеричного запуска запускается, если строка начинается с 0x, если не указано значение radix. 0xff . Стандарт фактически изменился с помощью ecmascript 5, поэтому современные браузеры больше не запускают восьмеричные, когда указана ведущая 0, если не указано значение radix. parseInt понимает радики до основания 36, и в этом случае как верхние, так и строчные буквы обрабатываются как эквивалентные.

Изменение типа строки на число

Все другие трюки, упомянутые выше, которые не используют parseInt, подразумевают неявное принуждение строки к числу. Я предпочитаю делать это явно,

Это отличается от методов анализа (хотя он все еще игнорирует пробелы). Он более строгий: если он не понимает всю строку, чем возвращает NaN , поэтому вы не можете использовать ее для строк типа 97px . Поскольку вам требуется примитивное число, а не объект обертки Number, убедитесь, что вы не ставите new перед функцией Number.

Очевидно, что преобразование в число дает вам значение, которое может быть float, а не целое число, поэтому, если вы хотите целое число, вам нужно его изменить. Есть несколько способов сделать это:

Любой побитовый оператор (здесь я поразрядный или, но вы также можете сделать двойное отрицание, как в более раннем ответе или бит-сдвиге) преобразует значение в 32-битное целое число, и большинство из них преобразуется в подписанный целое число. Обратите внимание, что этот не будет нужен для больших целых чисел. Если целое число не может быть представлено в 32 битах, оно будет завершено.

Чтобы правильно работать с большими числами, вы должны использовать методы округления

Имейте в виду, что все эти методы понимают экспоненциальную нотацию, поэтому 2e2 является 200 , а не NaN. Кроме того, Number понимает «Бесконечность», в то время как методы анализа не делают.

Пользовательский

Неверно, что любой из этих методов делает именно то, что вы хотите. Например, обычно мне нужна ошибка, возникающая при сбое синтаксического анализа, и мне не нужна поддержка Infinity, экспоненты или ведущие пробелы. В зависимости от вашего использования, иногда имеет смысл написать пользовательскую функцию преобразования.

Всегда проверяйте, что вывод Number или один из методов анализа — это число, которое вы ожидаете. Вы почти наверняка захотите использовать isNaN , чтобы убедиться, что число не NaN (обычно это единственный способ узнать, что синтаксический анализ не удалось).

Числа в JavaScript. Функция parseInt

Дата публикации: 2016-11-03

От автора: приветствую вас, друзья. Мы продолжаем статьи по изучению JavaScript и в этой статье мы с вами продолжим более подробно говорить о числах в JavaScript. В частности, мы больше узнаем о том, как привести значение к числу.

В одной из предыдущих статей, в которой мы знакомились с операторами в JavaScript, мы с вами узнали один из способов приведения числовой строки к числовому типу данных. Для этого мы использовали унарный плюс:

Пример выше в первом случае просто объединит числовые строки и мы получим не тот результат, который ожидали — строку 23. А вот во втором случае, используя унарный плюс, мы приводим обе числовые строки к числу и получаем нужный результат — число 5.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Читать еще:  Integer valueof java

Однако на практике такой вариант не всегда нам подойдет. Ну например, мы работаем с картинкой на сайте и получили ее ширину и высоту в пикселях. Давайте попробуем сложить их, используя знакомое нам преобразование:

Но не тут то было. Если мы таким образом попытаемся привести строку к числу, то в результате получим знакомое нам NaN:

Использовать унарный плюс для преобразования строки, которая не является числовой строкой, не имеет смысла. Что же делать? Нам поможет функция parseInt(), которая преобразует строку в число до тех пор, пока это возможно. И сразу же примеры:

И еще пара примеров:

Обратите внимание на третий пример. Как и отмечалось выше, функция parseInt() преобразует строку в число до тех пор, пока это возможно. Как только в строке встречается нечисловой символ — преобразование останавливается. В результате в третьем примере мы видим не все цифры в строке, а только те, которые стоят до первой буквы.

На этом мы давайте пока что остановимся. В следующей статье мы продолжим тему чисел в JavaScript. Если вы хотите больше узнать о JavaScript, тогда рекомендую обратить свое внимание на уроки по JavaScript и отдельный курс по языку JavaScript. Удачи!

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Javascript ParseInt Example | JS parseInt() Function

Javascript parseInt() is an inbuilt method that converts the string into an integer (a whole number). It accepts the two arguments. The first argument is the string, which needs to convert and the second argument is called the radix. Radix is the base number used in mathematical systems. JavaScript provides various ways to convert a string value into a number.

Javascript ParseInt Example

Javascript parseInt() function parses a string argument and returns an integer of the specified radix (the base in mathematical numeral systems). The parseInt() function is standard Javascript built-in objects.

Syntax

The string parameter is required, and it is the argument that needs to be converted into an integer.

The radix parameter is optional, and it is an integer between 2 and 36 that represents the radix which is the base in mathematical numeral systems of the string mentioned above.

See the simple example of converting the string into an integer in Javascript.

Output

The parseInt function converts its first argument to the string, parses it, and returns an integer or NaN. If not NaN, then the returned value would be an integer.

See some more examples.

See the output below — all returns 15.

But if the string does not start with a number, you’ll get NaN (Not a Number).

Output

Radix parameter is used to specify which numerical system will be used, for example, the radix of 16 (hexadecimal) indicates that a number in a string should be parsed from the hexadecimal number to the decimal number.

If a radix parameter is not specified, the javascript assumes the following.

  • If the string begins with ‘0x’, the radix is 16 (hexadecimal).
  • If the string begins with ‘0’, the radix is 8 (octal). This feature is deprecated.
  • If a string begins with any other value, the radix is 10 (decimal).

Note that only the first number in the string is returned!

Note that Leading and trailing spaces are allowed.

Note that If the first character cannot be converted to a number, parseInt() returns NaN.

Note that Older browsers will result in parseInt(“010”) as 8, because older versions of ECMAScript, (older than ECMAScript 5, use the octal radix (8) as default when a string begins with “0”. As of ECMAScript 5, the default is the decimal radix (10).

There is also one other method in Javascript that can convert the string into an integer, and that is Number object.

Output

Finally, Javascript ParseInt Example | parseInt() Function Tutorial is over.

Krunal Lathiya is From India, and he is an Information Technology Engineer. By profession, he is the latest web and mobile technology adapter, freelance developer, Machine Learning, Artificial Intelligence enthusiast, and primary Author of this blog.

Ссылка на основную публикацию
Adblock
detector