Как Вы знаете, JavaScript parseFloat
функционируйте работы только, пока это не встретит недопустимый символ, так например,
parseFloat("10.123") = 10.123
parseFloat("12=zzzz") = 12
parseFloat("z12") = NaN
Существует ли путь или реализация parseFloat, который возвратил бы NaN, если целая строка не является допустимым числом плавающим?
Используйте это вместо этого:
var num = Number(value);
Тогда вы можете сделать:
if (isNaN(num)) {
// take proper action
}
Может быть, попробуйте:
var f = parseFloat( someStr );
if( f.toString() != someStr ) {
// string has other stuff besides the number
}
Обновить: Не делайте этого, используйте метод @dcp :)
var asFloat = parseFloat("12aa");
if (String(asFloat).length != "12aa".length) {
// The value is not completely a float
}
else {
// The value is a float
}