如您所知,javascript的parseFloat
函数只有在遇到无效字符时才有效,例如
parseFloat("10.123") = 10.123
parseFloat("12=zzzz") = 12
parseFloat("z12") = NaN
如果整个字符串不是有效的浮点数,是否有一种方法或parseFloat实现会返回NaN?
答案 0 :(得分:20)
请改用:
var num = Number(value);
然后你可以这样做:
if (isNaN(num)) {
// take proper action
}
答案 1 :(得分:4)
也许试试:
var f = parseFloat( someStr );
if( f.toString() != someStr ) {
// string has other stuff besides the number
}
更新:不要这样做,请使用@ dcp的方法:)
答案 2 :(得分:0)
var asFloat = parseFloat("12aa");
if (String(asFloat).length != "12aa".length) {
// The value is not completely a float
}
else {
// The value is a float
}