js字符串转数字

首先,介绍两种方法
1、parseInt()还有它的兄弟parseFloat()
一个转整数,一个转浮点,这不用多说了

parseInt(string, radix);

string
要被解析的值。如果参数不是一个字符串,则将其转换为字符串(使用 toString)(这也是为什么string输入的是数字如12,也能正确解析的原因)。字符串开头的空白符将会被忽略。

radix
一个介于2和36之间的整数(数学系统的基础),表示上述字符串的基数。比如参数"10"表示使用我们通常使用的十进制数值系统。始终指定此参数可以消除阅读该代码时的困惑并且保证转换结果可预测。当未指定基数时,不同的实现会产生不同的结果,通常将值默认为10。
返回值
返回解析后的整数值。 如果被解析参数的第一个字符无法被转化成数值类型,则返回 NaN。

介绍部分规则
0x/0X前缀会解析成16进制,0b前缀解析成二进制,0, 0o前缀可能会转化成8进制或10进制,这个不同浏览器实现不太一样,
在这里插入图片描述
所以一定要写基数,
一些数中可能包含e字符(例如6.022e23),使用parseInt去截取包含e字符数值部分会造成难以预料的结果。例如:

parseInt("6.022e23", 10);        // 返回 6
parseInt(6.022e2, 10);          // 返回 602
// parseInt不应该用作 Math.floor()的替代品。

2、Number 对象主要用于:

如果参数无法被转换为数字,则返回 NaN。
在非构造器上下文中 (如:没有 new 操作符),Number 能被用来执行类型转换。

Number()的转换要比parseInt()更严格。
在这里插入图片描述

Number容不下任何非数字。而parseInt更像是从左往右去匹配,直到匹配到非数字才中止,如果第一位就不是数字才会返回NaN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值