Number(), parseInt(),parseFloat() 三者的使用

一.Number()

  1. 参数为Boolean值,返回的结果是1(true),0(false)
    Number(true); //1
    Number(false); //0
    
  2. 参数为String
    ①.字符串中含有字母
    Number('abc');//NaN
    Number('abc1234');//NaN
    
    ②.字符串中只有数值,数字前面有0,则自动省略,可以为小数(包含正负号)
    Number('12');//12
    Number('-123');//-123
    Number('12.12'); // 12.12
    
    ③.字符串中包含有效的十六进制格式,则会被转成对应的十进制
    Number("0xf")//15
    
    ④.字符串为空,则会被转化为0
    Number('')//0
    
  3. 参数是null,返回的结果是0
    Number(null)//0
    
  4. 参数是undefined,返回的结果是NaN
    Number(undefined);//NaN
    
  5. 参数是数值,返回的结果还是数值
    Number(12)//12
    

二.parseInt()

  1. 字符串为空,则返回结果为NaN
    parseInt('');//NaN
    
  2. 字符串的第一个有效字符是数字或者是正负符号,直到解析到非数字的字符为止
    parseInt('-123asv');//-123
    parseInt('123shx');//123
    
  3. 字符串的第一个字符不是数字或者正负号,则返回结果为NaN
    parseInt('asv');//NaN
    parseInt('sadas12312');//NaN
    
  4. 字符串是数字,则返回整数,第一个字符是0的话,则会被省略
    parseInt('12.12');//12
    parseInt('-12.12');//-12
    
  5. 字符串以‘0x’开头且后面为数字字符,则会被转化为十六进制
    parseInt('12.12');//12
    parseInt('-12.12');//-12
    
  6. 以‘0’开头且后面为数字字符,在ECMAScript3中当做八进制解析,但是在ECMAScript5中只当作十进制解析。
    parseInt('070');//56 ---ECMAScript3
    parseInt('070');//70 ---ECMAScript5
    
  7. 第二参数,parseInt(字符串,基数)
    parseInt('10',2);//2 ---二进制解析
    parseInt('10',8);//8 ---八进制解析
    parseInt('10',10);//10 ---十进制解析
    parseInt('10',16);//16 ---十六进制解析
    

三.parseFloat()

  1. 字符串为空,则返回结果为NaN
    parseFloat('');//NaN
    
  2. 字符串的第一个有效字符是数字或者是正负符号,直到解析到非数字的字符为止
    parseFloat('-123asv');//-123
    parseFloat('123shx');//123
    
  3. 字符串的第一个字符不是数字或者正负号,则返回结果为NaN
    parseFloat('asv');//NaN
    parseFloat('sadas12312');//NaN
    
  4. 字符串是数字,则返回整数,第一个字符是0的话,则会被省略
    parseFloat('12.12');//12
    parseFloat('-12.12');//-12
    parseFloat('.123');//0.123
    parseFloat('12.123.121312');//12.123
    

parseFloat()不能区分八进制和十六进制,没有基数的用法,也就是没有第二参数
parseFloat(‘070’);//70
parseFloat(‘0xf’);//0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值