1. 程式人生 > >JS資料型別之Number型別

JS資料型別之Number型別

Number型別的轉換及方法

var num = 10;
    num.toString() //"10"轉字串,引數表示幾進位制
    num.toFixed(2) //10.00 自動舍入 引數表示小數位數
    num.toExponential(1); //"1.0e+1" 數值的字串形式 引數表示小數位數
    num.toPrecision(3); //10.0 引數表示所有數字的位數
    num.toPrecision(1); //"1e+1" 當引數小於數字的位數時,返回數值的字串形式
    Number(""); //0
    Number("000011"); //11
    Number(true); //
1 parseInt("1234.555blue"); //1234 --丟棄小數部分 parseInt("blue1234"); //NaN parseFloat("1234.55.5blue"); //1234.55 parseFloat("blue1234"); //NaN parseInt("1234.555"); //1234 --丟棄小數部分 Math.ceil("1234.555"); //1235 --向上取整,有小數就整數部分加1 Math.round("1234.555"); //1235 --四捨五入 Math.floor("1234.555
"); //1234 --向下取整,丟棄小數部分

計算與比較 

  1. 數字的計算與比較
    //純數字的計算和比較依據數學運算
    1+1 //2
    1>2 // false
    //注意
    NaN == NaN // false
    false == 0 // true
    true == 1 // true 
    //這意味著
    true - 1 //0

     

  2. 數字與字串的計算
    '1' + 1 //11 加法直接字串連線
    '1' - 1 //0 減法乘法除法都把字串轉成數字然後計算
    '1' * 2 //2 減法乘法除法都把字串轉成數字然後計算
    '1' / 2 //0.5 減法乘法除法都把字串轉成數字然後計算

     

  3. 數字與字串的比較
    1 >'2' // false 先將數字字串轉為純數字,然後為純數字間的比較

     

  4. 字串與字串的比較
    依次取每個字元,字元轉為ASCII碼進行比較
    '5' > '123' // true
    '2347' > '237' //false 前兩位相同,比較第3位

     

計算精度丟失問題

0.1 + 0.2 === 0.30000000000000004 //true 雙精度 64 位浮點數精度丟失
1000000000000000128 === 1000000000000000129 //true

精度丟失參考地址:http://www.cnblogs.com/zichi/p/5034201.html