进制之间互相转化
a=133
- 十进制转成其他进制 a.toString(num)
a.toString(2); //转化成二进制,返回"10000101"
a.toString(8); //转化成八进制,返回"205"
a.toString(16);//转化成十六进制,返回"85"
- 其他进制转化成十进制 parseInt(a,num);
var a=205;
parseInt(a,8); //2=>10, 返回133
var a=85;
parseInt(a,16); //16=>10,返回133
- 其他进制转成其他进制(其他进制=》10进制=》其他进制)
var a=205;
parseInt(a,8).toString(16); //8=》16,返回"85"
精度问题
- 为啥0.1+0.2!=0.3
- 解决措施
- 确定精确度 a=0.1,b=0.2;
var aa=a.toString();
var bb=b.toString();
var len=Math.max(aa.length-aa.indexOf('.')-1,bb.length-bb.indexOf('.')-1);
parseFloat(0.1+0.2).toFixed(len); //返回0.3