parseInt()解析整数与parsetFloat()解析浮点数

Posted AlanTao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了parseInt()解析整数与parsetFloat()解析浮点数相关的知识,希望对你有一定的参考价值。

1.parseInt(string,radix) 解析整数

parseInt("dgei23");            // NaN          
parseInt("3 blind mice");      // 3
parseInt("-12.34");            // -12
parseInt("0xFF");              // 255
parseInt("0.1");               // 0
parseInt(".1");                // 因为整数不能以‘.‘开始
parseInt("$72.47");            // NaN,因为整数不能以‘$‘开始

指定基数radix

parseInt("08");                // 0 (在ECMAscript3中是0,因为会被认为是8八进制)
parseInt("08",10);             // 8 (这样才是10进制)

//都是返回15

parseInt("1111", 2);
parseInt(021, 8);
parseInt("17", 8);
parseInt("015", 10);   // parseInt(015, 10); will return 13
parseInt(15.99, 10);
parseInt("15*3", 10);
parseInt("15e2", 10);
parseInt("15px", 10);
parseInt("15,123", 10);
parseInt("12", 13);
parseInt(" F", 16);
parseInt(" 0xF", 16);
parseInt("FXX123", 16);

// 更加严格的解析整数函数

function filterInt(value){
    //-+符号在前
    if(/^(\-|\+)?([0-9]+|Infinity)$/).test(value){
        return Number(value);
    }
    return NaN;
}
filterInt("421");                // 421 
filterInt("-421");               // -421 
filterInt("+421");               // 421 
filterInt("Infinity");           // Infinity 
filterInt("421e+0");             // NaN
filterInt("421hop");             // NaN
filterInt("hop1.618033");        // NaN
filterInt("1.618033");           // NaN

 

parseFloat(string) 解析浮点数

parseFloat("dgei2.3");           // NaN
parseFloat("3.14 meters");       // 3.14
parseFloat("0.1");               // 0.1
parseFloat(".1");                // 0.1

//都是返回3.14
parseFloat("3.14");
parseFloat("314e-2");
parseFloat("0.0314E+2");
parseFloat("3.14more non-digit characters");

// 更加严格的解析小数函数

function filterFloat(value){
    if(/^(\-|\+)?([0-9]+|(\.[0-9]+)?|Infinity)$/).test(value){
        return Number(value);
    }
    return NaN;
}
filterFloat("421");               // 421
filterFloat("-421");              // -421
filterFloat("+421");              // 421
filterFloat("Infinity");          // Infinity
filterFloat("1.61803398875");     // 1.61803398875
filterFloat("421e+0");            // NaN
filterFloat("421hop");            // NaN
filterFloat("hop1.61803398875");  // NaN

 

以上是关于parseInt()解析整数与parsetFloat()解析浮点数的主要内容,如果未能解决你的问题,请参考以下文章

parseInt() 函数的奇怪行为

#yyds干货盘点#parseInt怪异行为

JS中parseint和number的区别

JavaScript函数

parseInt

基础-Math.floor与parseInt区别