number數字類型詳解
初始數字類型
分整數型和浮點型。
十進制通用,普遍使用十進制計算。
八進制:070? 56;第一個必須是0(后面0到7)
十六進制:0X(后面是0到0或者A到F)
浮點數:帶有小數的數字,浮點型比整數型多用空間,所以如果是12.0;會自動轉換成整數型12.
過大或過小:e科學計數法。 2e4 就是2萬。
不用浮點數做判斷,會有誤差。
浮點數有數值范圍。
? ? ? Number.MIN_VALUE(最大);
? ? ? Number.MAX_VALUE( 最小);
? ? ? Number.POSITIVE_INFINITY(正無窮)//Infinity
? ? ? Number.NEGATIVE_INFINITy(負無窮)// -Infinity
測試范圍是否超過范圍。可用isFinite()。
數字類型轉換
有三個函數可以把非數值轉化為數值:Number(),parseInt(),ParstFloat()。
其中Number()可以用于任何數據類型,后面兩個專門用于字符串轉成數值。
Number()
Number()轉布爾類型,返回1和0,true是,false是0;
Number()轉數值類型;直接返回數值;
Number()轉Null,空對象返回0;
Number()轉undefined,是NaN;
Number()轉字符串 有五條規則
1.包含數值的字符串,自動去掉前導0,以十進制輸出;
2.包含浮點數值的字符串,自動去掉前導和后導0,以浮點數值輸出;
3.如果字符串是空,直接轉換成0;
4.如果不是以上字符串,返回NaN;
5、如果是對象,收下調用valueOf()方法,然后確定返回值是否能夠轉換成數值,如果轉換的結果是NaN,則基于這個返回值再調用toString()方法,再測試返回值。
由于Number復雜,通常用parseInt()。
parseInt()
parseInt()只能是轉換字符串,浮點數會被割舍掉小數點以后的內容。
可以輸出二進制,八進制(0開頭),十六進制(o和X開頭);中間逗號,后面表示多少進制。
parseFloat
parseFloat不認識16進制,只認一個小數點,多的會去掉,前導0和后導0全部去掉。
ps:第二次再學習感覺比第一次深入多了,加油!