В Typescript, Как проверить, является ли строка числовой
в Typescript, это показывает ошибку говоря isNaN принимает только числовые значения
isNaN('9BX46B6A')
и это возвращает false, потому что parseFloat('9BX46B6A')
значение 9
isNaN(parseFloat('9BX46B6A'))
Я все еще могу работать с ошибкой, отображаемой в Visual Studio, но я хотел бы сделать это правильно.
в настоящее время, я написал эту модифицированную функцию -
static isNaNModified = (inputStr: string) => {
var numericRepr = parseFloat(inputStr);
return isNaN(numericRepr) || numericRepr.toString().length != inputStr.length;
}
4 ответа:
способ преобразования строки в число-это с
Number
, а неparseFloat
.Number('1234') // 1234 Number('9BX9') // NaN
вы также можете использовать унарный оператор плюс, если вам нравится сокращенное:
+'1234' // 1234 +'9BX9' // NaN
будьте осторожны при проверке против NaN (оператор
===
и!==
не работает, как ожидалось сNaN
). Использование:isNaN(maybeNumber) // returns true if NaN, otherwise false