«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Когда использовать parseInt() и Number() для преобразования строк в числа в JavaScript?

Когда использовать parseInt() и Number() для преобразования строк в числа в JavaScript?

Опубликовано 17 ноября 2024 г.
Просматривать:612

 When to Use parseInt() and Number() for String to Number Conversion in JavaScript?

Преобразование строк в числа с помощью parseInt() и Number()

При преобразовании строк в числа в JavaScript обычно используются две функции parseInt () и Число(). Хотя они оба имеют общую цель численного преобразования, они различаются в своем подходе и поведении.

parseInt()

parseInt() выполняет более конкретную задачу, известную как синтаксический анализ. . Он пытается извлечь целое число из строки. При анализе parseInt() читает строку слева направо, останавливаясь на первом нецифровом символе. Любые последующие символы в строке игнорируются.

parseInt() также принимает необязательный второй аргумент — систему счисления или базу, которая определяет систему счисления, используемую для интерпретации цифр. По умолчанию система счисления равна 10 (десятичному числу), но ее можно установить на любое целое число от 2 до 36.

Примеры:

parseInt("20px");       // 20
parseInt("10100", 2);   // 20 (binary)
parseInt("2e1");        // 2 (does not parse the "e1")

Number()

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

Если строка содержит нечисловые символы, Number() вернет NaN (Not -а-число). Однако в определенных случаях у него есть некоторые примечательные особенности поведения:

  • Он может обрабатывать экспоненциальную запись (например, «2e1») и преобразовывать ее в число.
  • Он может обнаруживать и анализировать неявные восьмеричные обозначения (например, «010»), но их также можно использовать для явного преобразования в восьмеричные числа с помощью "0o".
  • Он может обрабатывать шестнадцатеричные числа с префиксом "0x".

Примеры:

Number("20px");       // NaN
Number("2e1");        // 20
Number("010");         // 10
Number("0o10");         // 8
Number("0xF");   // 15

Дополнительные соображения

  • parseInt() обычно предпочтительнее, когда вам нужно проанализировать строку как целое число, а Number() более подходит для преобразования значений в числовые типы.
  • Оператор унарный плюс ( ) также можно использовать для преобразования строки в число, что эквивалентно использованию оператора Конструктор Number().
Последний учебник Более>

Изучайте китайский

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

Copyright© 2022 湘ICP备2022001581号-3