javascript parseFloat无法确定输入是否为float

问题描述

|| 我是javascript,PHP和编程的新手,请耐心等待。 我正在尝试创建javascript函数来检查用户是否输入了浮点值。该事件被按键,因此它将检查每个字符。 发生的情况是,如果第一个字符是浮点数,则即使后面的字符已经是非数字的,也要说出其余输入的浮点数。同样,如果第一个字符是非数字字符,即使有一些非数字字符,它也会说不是浮点数。在我看来,它仅检查第一个字符。请帮助...
index.PHP
<script type=\"text/javascript\" src=\"javascript.js\"> </script>

<form action=\"index.PHP\" method=\"get\">
 Integer 1: <input type=\"text\" id=\"num1\" name=\"num1\" onkeypress=\"checkInput(this);\" /> <br />
 Integer 2: <input type=\"text\" id=\"num2\" name=\"num2\" onkeypress=\"checkInput(this);\" /> <br />
 <input type=\"submit\" value=\"Compute\" />
</form>
javascript.js
function checkInput(obj) {
 if(!parseFloat(obj.value)) {
  alert(\"Not Float\");
 } else {
  alert(\"Float\");
 }
}
    

解决方法

        
parseFloat
是从字符串的第一个字符开始提取数字。 要检查字符串的整体是否表示一个数字,请将其转换为
Number
,并检查结果是否为
NaN
(不是数字):
if (isNaN(Number(obj.value)) {
   alert(\"Not Float\");
} else {
   alert(\"Float\");
}