10进制转换到2~36进制
(100).toString(2); //1100100 (100).toString(10); //100 (100).toString(35); //2u (100).toString(36); //2s
警告(以下为非标准特性,各浏览器执行有差异):
- 如果要转换的字符串已0x或者0X开头,那么parseInt(‘0xAB‘)等价于parseInt(‘0xAB‘,16)
- 如果遇到0开头,那么parseInt(‘013‘)等价于parseInt(‘013‘,8)
- 强烈建议在使用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
当我们关心精度时,要小心浮点数的局限性。有效的方法是尽可能的采用整数值运算,整数在运算时不需要舍入。
时间: 2024-10-08 11:12:59