admin管理员组文章数量:1794759
JavaScript 进制之间的转换、大数或小数精度丢失、js不同进制的表示(分享)
文章目录
- 1. toString(radix)
- 2. parseInt(string, radix)
- 3. 0.1 + 0.2 !=== 0.3
- 4. BigInt()
- 5. js不同进制的表示
把十进制转换为其他进制
// 2 <= radix <= 36 // num:为十进制 let num = 10 // 要把十进制转换为多少进制 console.log(num.toString(2)) // '1010' 2. parseInt(string, radix)把其他进制转换为十进制
// 2 <= radix <= 36 // 把 1010 作为二进制转换,返回值为十进制 console.log(parseInt("1010", 2)) // 10 // 把 1010 作为八进制转换,返回值为十进制 console.log(parseInt("1010", 8)) // 520 3. 0.1 + 0.2 !=== 0.3小数精度丢失
// js 底层是把十进制转换为二进制,进行计算再返回,会出现精度丢失问题 console.log(0.1 + 0.2) // 0.30000000000000004 // 解决方案,先变为整数,计算完后转为小数 (0.1 * 10 + 0.2 * 10) / 10 4. BigInt()大数精度丢失
// 当数值过大也会出现精度丢失的问题,大于 2^53 - 1 的整数 console.log(1000000000000000000000) // 1e+21 console.log(BigInt(1000000000000000000000)) // 1000000000000000000000n 5. js不同进制的表示 let num1 = 99 // 十进制 let num2 = 0xff // 十六进制,前缀单词不区分大小写,0x/0X let num3 = 077 // 八进制 let num4 = 0b11 // 二进制本文标签: 大数小数精度JavaScriptjs
版权声明:本文标题:JavaScript 进制之间的转换、大数或小数精度丢失、js不同进制的表示(分享) 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686579309a83976.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论