美文网首页
js中字符串转数字的方法

js中字符串转数字的方法

作者: 7天苹果 | 来源:发表于2017-06-10 17:54 被阅读87次

    之前关于字符串转数字只知道parseInt函数,但是如果是小数怎么办呢?

    今天总结一下关于字符串转数字的方法:

       1. Number()
       2. parseInt()
       3. parseFloat()
    

    用法:

    1. Number()方法

    • 如果字符串只包含数字,则将其转换为十进制数值,即 "123" 会变成 123
    • 如果字符串包含十六进制格式,例如 "0xf" ,则将其转换为相同大小的十进制整数值
    • 如果字符串为空,转换为 0
    • 如果是上述格式之外的字符,转换为 NaN
     const str = '123';
     const str1 = '0xf';
     const str2 = '';
     const str3 = 'a';
     const str4 = '123aa';
     console.log(Number(str));    //123
     console.log(Number(str1));   //15
     console.log(Number(str2));   //0
     console.log(Number(str3));   //NaN
     console.log(Number(str4));   //NaN
    

    2.parseInt()方法

    处理整数常用 parseInt(),parseInt() 转换字符的时候,会识别字符是否符合数值模式,它会忽略字符串前面的空格,从第一个非空格字符开始解析,如果是非数字符号或正负号,则返回 NaN 。如果第一个非空字符是数字符号或正负号,那么会继续解析,直到解析完或遇到非数字符号,比如 1234blue 会被转换成 1234, 但是需要注意的是,小数点并不算是数字符号,所以 22.5 会被解析为 22。同时也能解析八进制或十六进制的数。

    var num1 = parseInt("1234blue");      //1234
    var num2 = parseInt("");              //NaN
    var num3 = parseInt("22.5");          //22
    var num4 = parseInt("070");           //56(八进制数)
    var num5 = parseInt("0xf");           //15(十六进制数)
    

    3.parseFloat()方法
    与 parseInt() 类似,也是从第一个字符开始解析,但是小数点是有效的,因为 parseFloat() 解析的不是数字符号,而是浮点数字字符,但第二个小数点就无效了。比如 "22.34.5" 会背转换为 22.34。需要注意的是 parseFloat() 只能解析十进制的数字。

    var num1 = parseFloat("1234blue");      //1234
    var num2 = parseFloat("22.5");          //22.5
    var num3 = parseFloat("22.34.5");       //22.34
    var num4 = parseFloat("0xA");           //0
    

    相关文章

      网友评论

          本文标题:js中字符串转数字的方法

          本文链接:https://www.haomeiwen.com/subject/jiccqxtx.html