Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查字符串是否不是浮点数?_Javascript - Fatal编程技术网

Javascript 如何检查字符串是否不是浮点数?

Javascript 如何检查字符串是否不是浮点数?,javascript,Javascript,我想检查一个值是否不是浮点数,但上面的代码总是返回NaN,知道我做错了什么吗?!parseFloat(num)为false因此您正在比较false>=0 您可以这样做: var num = "10.00"; if(!parseFloat(num)>=0) { alert("NaN"); } else { alert("Number"); } 但这样做更具可读性: if(! (parseFloat(num)>=0)) if(parseFloat(num)=0为真,因

我想检查一个值是否不是浮点数,但上面的代码总是返回
NaN
,知道我做错了什么吗?

!parseFloat(num)
false
因此您正在比较
false>=0

您可以这样做:

var num = "10.00";
if(!parseFloat(num)>=0)
{
    alert("NaN");
}
else
{
    alert("Number");
}
但这样做更具可读性:

if(! (parseFloat(num)>=0))
if(parseFloat(num)<0)

因为
的优先级高于
=
,因此您的代码具有更高的优先级

!parseFloat(num)
它是
false

然后

=0
false
被强制为
0
0>=0
为真,因此
警报(“NaN”)


parseFloat
返回一个float或
NaN
,但您正在应用布尔NOT运算符

您可能想要更像:

if(parseFloat(num) < 0)

var num = "10.0";
var notANumber = isNaN(parseFloat(num));
function isFloat(value) {
  if(!val || (typeof val != "string" || val.constructor != String)) {
  return(false);
  }
  var isNumber = !isNaN(new Number(val));
     if(isNumber) {
        if(val.indexOf('.') != -1) {
           return(true);
        } else {
           return(false);
        }
     } else {
  return(false);
 }
}