Почему я не могу решить, как преобразовать строку в число в JS

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

parseInt( ) vs parseFloat( )

Прежде всего, говоря о приведении строк, мы не можем не упомянуть эти очень известные методы.

Итак, для тех, кто новичок в javascript, скажу, что эти методы используются для преобразования строки в целое число «parseInt( )» или плавающее число «parseFloat( )» соответственно.

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

const stringNumber = "45.1"

// output -> 45 (is not a string anymore)
const int = parseInt(stringNumber) 

// output -> 45.1 (is not a string anymore, and it is float)
const float = parseFloat(stringNumber) 
Вход в полноэкранный режим Выход из полноэкранного режима

Number( )

Это непосредственно экземпляр класса Number в javascript.

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

const stringIntegerNumber = "45"
const stringFloatNumber = "45.1"

// output -> 45 (is not a string anymore)
const int = Number(stringIntegerNumber)

// output -> 45.1 (is not a string anymore, and it is float)
const float = Number(stringFloatNumber)
Вход в полноэкранный режим Выход из полноэкранного режима

Унарный оператор (+)

Пожалуй, в этой подборке методов преобразования строки в число. Это, безусловно, самый странный метод, поскольку на самом деле это не метод или класс JavaScript, а специальный оператор.

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

const stringIntegerNumber = "45"
const stringFloatNumber = "45.1"

// output -> 45 (is not a string anymore)
const int = +stringIntegerNumber

// output -> 45.1 (is not a string anymore, and it is float)
const float = +stringFloatNumber
Вход в полноэкранный режим Выйти из полноэкранного режима

Если вы не понимаете, что происходит, позвольте сказать, что этот метод работает путем добавления оператора «+» непосредственно перед строкой с числовым значением (если есть пробелы между «+» считается классическим оператором суммы).

Если у вас есть другие методы, не стесняйтесь их комментировать.

Оцените статью
devanswers.ru
Добавить комментарий