ご存じのとおり、javascript のparseFloat
機能は、無効な文字に遭遇するまでしか機能しません。たとえば、
parseFloat("10.123") = 10.123
parseFloat("12=zzzz") = 12
parseFloat("z12") = NaN
文字列全体が有効な浮動小数点数でない場合に NaN を返す parseFloat の方法または実装はありますか?
ご存じのとおり、javascript のparseFloat
機能は、無効な文字に遭遇するまでしか機能しません。たとえば、
parseFloat("10.123") = 10.123
parseFloat("12=zzzz") = 12
parseFloat("z12") = NaN
文字列全体が有効な浮動小数点数でない場合に NaN を返す parseFloat の方法または実装はありますか?
代わりにこれを使用してください:
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
}