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 --向下取整,丟棄小數部分 Math.max(3, 54, 32, 16);//54 取最大值 Math.min(3, 54, 32, 16);//3 取最小值
計算與比較
- 數字的計算與比較
//純數字的計算和比較依據數學運算 1+1 //2 1>2 // false //注意 NaN == NaN // false false == 0 // true true == 1 // true //這意味着 true - 1 //0
- 數字與字符串的計算
'1' + 1 //11 加法直接字符串連接 '1' - 1 //0 減法乘法除法都把字符串轉成數字然后計算 '1' * 2 //2 減法乘法除法都把字符串轉成數字然后計算 '1' / 2 //0.5 減法乘法除法都把字符串轉成數字然后計算
- 數字與字符串的比較
1 >'2' // false 先將數字字符串轉為純數字,然后為純數字間的比較
- 字符串與字符串的比較
依次取每個字符,字符轉為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