javascript parseFloat可以't确定输入是否为浮点

javascript parseFloat can't determine if the input is float or not

本文关键字:输入 是否 可以 parseFloat javascript      更新时间:2023-09-26

我是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");
}