parseInt()

  • 做题时遇到的,对于输入的一组数字,需要求出这组数字里偶数的二进制,并将其二进制反转得到一个新的数字

  • 这里面需要解决两个问题:1. 将可能是字符串的元素值转为整数;2. 求二进制对应的整数

  • 以上两个问题都可以通过parseInt()解决,parseInt()可解析一个字符串,并返回一个整数。

  • parseInt()有两个参数

    • string:必需。要被解析的字符串。
    • radix:可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
parseInt疑惑的点
  • 之前一直不太熟悉parseInt怎么对字符串进行解析的,主要是看着要分情况考虑string是以什么开头的,感觉很麻烦,学的一知半解的,静下心来看其实没那么麻烦

  • 教程中,忽略第二个参数radix时,

    • 如果string以 “0x” 开头,parseInt() 会把string的其余部分解析为十六进制的整数。
    • 如果string以 0 开头,那么 ECMAScript v3 允许parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
    • 如果string以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
    • 如果string的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN
  • 考虑第二个参数radix时,如果radix是2,就把string解析为二进制的数,是16就解析为16进制,没有写就默认转换为10进制数。

解决问题
let readline = '2';
// 将字符串转为数字类型
let a = parseInt(lines[i]);
// 求二进制
let brind = a.toString(2);
// 求二进制对应的整数
let brind = parseInt(a,2);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值