如何在javascript中检查数字是否为浮点数?

如何在javascript中检查数字是否为浮点数?,javascript,Javascript,是否有一种方法或类似的方法来检查一个数字是否是浮点数 我正在从服务器接收字符串数组,我需要根据它们的类型对组成它们的元素执行一些操作。我试着这样做是为了找出元素的类型: let a = [4, 2.3, "SO2", 4, "O2", 3.4, 4.5, "CO2", 5.6, 3.4, 2]; itExists = true; a.forEach((e,i,a)=>{ if(true){ if(typeof e == 'number'){

是否有一种方法或类似的方法来检查一个数字是否是浮点数

我正在从服务器接收字符串数组,我需要根据它们的类型对组成它们的元素执行一些操作。我试着这样做是为了找出元素的类型:

 let a = [4, 2.3, "SO2", 4, "O2", 3.4, 4.5, "CO2", 5.6, 3.4, 2];

itExists = true;

 a.forEach((e,i,a)=>{
   if(true){
     if(typeof e  == 'number'){        
            if ( e % 1 != 0) {
               console.log(e + " :float")
            }else{
                console.log(e + " :number")
             }
       }else{
         console.log(e + " :letter")
       }
   }else{
     console.log("Does not exist")
   } 
 });
但是,这不起作用,因为它们是字符串。有什么想法吗?

这应该行得通

function isFloat(n){
    return Number(n) === n && n % 1 !== 0;
}

按如下方式更换您的状态

(e%1!=0)//替换此

(e-parseInt(e))//要将字符串转换为数字,可以使用构造函数:

const n = Number('my string') // NaN ("not a number")
要检查转换是否为有效数字,请执行以下操作:

Number.isNaN(n)
注意:Internet Explorer不支持,为此,您可以使用旧版本。越来越多

要检查数字是否为整数,有两种内置方法:

  • ,及
  • 可以找到进一步的讨论

    设a=[4,2.3,“SO2”,4,“O2”,3.4,4.5,“CO2”,5.6,3.4,2];
    a、 forEach((e)=>{
    常数n=数字(e)
    if(编号:isNaN(n)){
    控制台日志(e+“:字母”)
    返回
    }
    if(编号isInteger(n)){
    console.log(e+“:整数”)
    返回
    }
    console.log(e+“:非整数”)
    
    })
    这是否回答了您的问题?就我所见,您的代码工作正常,实际的(解析的)服务器响应是否类似于
    [“4”、“2.3”、…]
    ?这是否回答了您的问题?没有所谓的“浮点数”。浮点(浮点的缩写)是计算机中表示实数的一种方法。在JavaScript中,所有数字(整数或非整数)都使用浮点格式存储。你的问题是如何区分整数和同样有小数部分的数字?(例如,
    4
    是整数,
    2.3
    不是整数)。