zoukankan      html  css  js  c++  java
  • js 字符串转数字

    parseInt()    把字符串转化为整数,可设进制

    parseFloat() 把字符串转化为浮点数,必须是十进制

    注意要点:

    1. 从左往右,如果从位置0起不是有效数字,就返回NaN

    解决方法:

    //提取字符串中所有数字
    CBTC.CLang.getStringNum=function(str){
    	var nums=str.match(/[0-9]/g);
    	return nums.join("");
    }
    var s="sdfad0sa7f8";
    var re=CBTC.CLang.getStringNum(s);
    alert(re);                               //078
    alert(parseInt(re,10));          //78
    

    2. 自动根据起始字符判断进制,自动得让人找不到bug在哪儿

    如上例中,re为078

    如果alert(parseInt(re)),显示7  解释为八进制,"8"为非数字字符

    再如,parseInt("0xA"); 显示10

            alert(parseInt("012"));显示10  把字符串按八进制理解,转化为10进制输出

    解决方法:

    显示设置进制,不让它自动理解

    3.parseFloat函数认为,第一个出现的小数点也是有效字符,第二个小数点为无效字符

    4.因为parseFloat不考虑其它进制,前导0忽略

    5.JS虽然是弱类型的,但也不能乱搞

    alert(parseInt("012.2",10));  //字符串,随便写,我都认
    alert(parseInt(012.2,10));     //你给哥搞成这样,就等出错吧



  • 相关阅读:
    友链
    Vue打包后处理跨域
    es6 Promise
    express get和post数据
    Nodejs登陆注册应用
    bootstrap按钮
    vue-router
    vue--transition多个元素运动
    $ git push -u origin masterremote时出现错误: error: GH007: Your push would publish a private email address.
    vue.js监听
  • 原文地址:https://www.cnblogs.com/frostbelt/p/2388710.html
Copyright © 2011-2022 走看看