js-进制相关

Posted 清风空谷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js-进制相关相关的知识,希望对你有一定的参考价值。

 
10进制转换到2~36进制
(100).toString(2);    //1100100
(100).toString(10);   //100
(100).toString(35);   //2u
(100).toString(36);   //2s

  

警告(以下为非标准特性,各浏览器执行有差异):

  1. 如果要转换的字符串已0x或者0X开头,那么parseInt(‘0xAB‘)等价于parseInt(‘0xAB‘,16)
  2. 如果遇到0开头,那么parseInt(‘013‘)等价于parseInt(‘013‘,8)
  3. 强烈建议在使用parseInt时指定进制

 
parseInt(‘9x‘);    //9 会自动忽略不能转换的字符
parseInt(‘x9‘);    //NaN 发现第一个字符就不能转换,返回NaN
parseInt(‘1100100‘,2);    //100 可以在parseInt的第二个参数指定当前字符串的进制
parseInt(‘2xxx‘,2);    //NaN 遇到无法转换的情况,返回NaN
parseInt(‘08‘);    //IE下:0,Chrome35下:8 

浮点数是出了名的不精确,你能知道以下代码的执行结果吗?

0.1+0.2;           //0.30000000000000004
(0.1+0.2)+0.3;     //0.6000000000000001
0.1+(0.2+0.3);     //0.6
0.3-0.2;           //0.09999999999999998

  

当我们关心精度时,要小心浮点数的局限性。有效的方法是尽可能的采用整数值运算,整数在运算时不需要舍入。

以上是关于js-进制相关的主要内容,如果未能解决你的问题,请参考以下文章

几个关于js数组方法reduce的经典片段

几个关于js数组方法reduce的经典片段

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

js-进制相关

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程