We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
parseInt('0.0000009') // ??? parseInt(0.0000009) // ???
上面两道题的结果? 0 0 ?
关于parseInt,就是用于将字符类型的数据转化成数字类型。如果传的参数不是字符串,则会先自动调用toString方法将参数转化为字符串。
parseInt从传进来的参数的左边的第一个字符开始进行转换,遇到了非数字的字符就会停止转换。
parseInt接收两个参数
parseInt(string, radix)
parseInt('10101', 2) // 21
第二个参数是该string使用的进制,默认string的进制为10进制,最终转换的结果以10进制表示
parseInt('0.0000009') // ???
结果为0,因为parseInt遇到了.字符之后就停止了转换,所以结果为0
.
parseInt(0.00000009) // ???
结果为9,我一开始也不知道为什么,因为一开始我也忘记了parseInt会将不是string类型的参数隐式转换为字符类型,而0.0000009的表示其实是以科学计数法表示的9e-7,这时候转换为字符串就是'9e-7',实际上也就是parseInt('9e-7'),遇到e之后停止转换。输出9,所以结果为9。
0.0000009
9e-7
'9e-7'
parseInt('9e-7')
e
JS会将小数位数超过6位的小数以科学计数法表示
var a = 0.000009 // 6位小数 a.toString() === '0.000009' // true var b = 0.0000009 // 7位小数 实际上表示为 9e-7 b.toString() === '0.0000009' // false
The text was updated successfully, but these errors were encountered:
No branches or pull requests
思考题
上面两道题的结果?
0 0 ?
parseInt
关于parseInt,就是用于将字符类型的数据转化成数字类型。如果传的参数不是字符串,则会先自动调用toString方法将参数转化为字符串。
parseInt从传进来的参数的左边的第一个字符开始进行转换,遇到了非数字的字符就会停止转换。
parseInt接收两个参数
第二个参数是该string使用的进制,默认string的进制为10进制,最终转换的结果以10进制表示
第一题
结果为0,因为parseInt遇到了
.
字符之后就停止了转换,所以结果为0第二题
结果为9,我一开始也不知道为什么,因为一开始我也忘记了parseInt会将不是string类型的参数隐式转换为字符类型,而
0.0000009
的表示其实是以科学计数法表示的9e-7
,这时候转换为字符串就是'9e-7'
,实际上也就是parseInt('9e-7')
,遇到e
之后停止转换。输出9,所以结果为9。科学计数法
JS会将小数位数超过6位的小数以科学计数法表示
The text was updated successfully, but these errors were encountered: