Конвертирование строки в число в JavaScript
Может быть конвертация строки в число сама по себе простая операция, но только не в JavaScript, где существует множество возможностей выстрелить себе в ногу. Валерий Карпов в статье "Convert a String to a Number in JavaScript" описывает суть проблемы с конвертированием и приводит возможные решения с хорошим объяснением нюансов.
Автор предлагает использовать Number(), если вы готовы мириться с граничными случаями при конвертации, например, Number(''); // 0
, и parseFloat()
, если вам нужна большая строгость parseFloat(''); // NaN
. Для проверки, является ли число NaN, советует использовать метод Number.isNaN()
, который был добавлен в ES2015. Призывает отказаться от использования глобального isNaN()
, так как isNaN('string') === true
, а Number.isNaN('string') === false
, то есть в последнем варианте аргумент не приводится к числу и таким образом этот метод "честнее" для разработчика.
Странно, что в статье про parseInt() ничего нет. Видимо, подразумевается, что мы работаем в основном с десятичной системой счисления.
http://thecodebarbarian.com/convert-a-string-to-a-number-in-javascript.html