js—数字那些事儿

进制之间互相转化

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
原文地址:https://www.cnblogs.com/hiluna/p/9600257.html