js—數字那些事兒

進制之間互相轉化

a=133code

  • 十進制轉成其餘進制 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
相關文章
相關標籤/搜索