JavaScript中的parseInt()函数史上最强详解

parseInt()详解

parseInt接收两个参数 parseInt(string,radix?);

  • string:要被解析的值。如果参数不是一个字符串,则其转换为字符串(tooString)。字符串开头的空白符将会被忽略。
  • radix:可选参数。从2到36,表示被解析的值的进制。

基本用法

1-基本用法:当只接受一个参数值时,可以默认第二个参数值是10,此时parseInt的返回值只有两种可能,不是一个十进制数就是NaN

  • a.将字符串转为整数:let a = parseInt('12'); console.log(a);//12
  • b.如果字符串头部有空格,空格会被自动去除:let a = parseInt(' 90'); console.log(a);//90
  • c.如果字符串头部不是字符串,则会先转为字符串再转换。
  • d.字符串的第一个字符不能转化为数字,返回NaN:let a = parseInt("aa99"); console.log(a);//99
  • e.字符串转为整数的时候,是一个个字符一次转换,如果遇到不能转为数字的字符,就不能再进行下去,返回已经转好的部分:parseInt('99aa'); // 99
  • f.如果字符串以0x或0X开头,parseInt会将其按照十六进制数解析:let a = parseInt("0x19");//25
  • g.r如果字符串以0开头,将其按照十进制解析:let a = parseInt("019");//19
  • h.如果参数以0开头,但不是字符串,则会将数值转换成字符串,然后解析,见规则c;parseInt(011); // 9 // 解释一下,(011).toString()得到的结果是‘9’,具体原因请查看我的博文中有介绍toString方法
    -i.对于那些会自动转为科学计数法的数字,parseInt会将科学计数法的表示方法视为字符串,因此导致一些奇怪的结果:parseInt(1000000000000000000000.5); // 1// 等同于parseInt('1e+21'); // 1parseInt(0.0000008); // 8// 等同于parseInt('8e-7'); // 8
    2-进制转换(接收两个参数),parseInt方法可以接收第二个参数(2到36之间),表示被解析值的进制,返回该值对应的十进制数。默认情况下,parseInt的第二个参数为10,即默认是十进制转十进制
  • a.第一个参数解析规则参照第1条基本用法
  • b.如果第二个参数不是数值,会被自动转为一个整数。这个整数只有在2到36之间超出这个范围,则返回NaN。如果第二个参数是0、undefined和null,则直接忽略:let a = parseInt('19',10);//19 let b = parseInt('11',2);//3 let c = parseInt('17',8);//15 let d = parseInt('1f',16)//25 let e = parseInt('-99',0); let f = parseInt('-99',null);//-99 let g = parseInt('-99',undefined);//-99 console.log(a,b,c,d,e,f,g)//-99
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值