1.toString() 把字符串轉換為數值。
let num = 123; console.log(typeof(num)); //number console.log(typeof(num.toString())) //string
- typeof() 判斷數據類型
2.toLocaleString() 方法可把一個 Number 對象轉換為本地格式的字符串。
LocaleString()會根據你機器的本地環境來返回字符串,它和toString()返回的值在不同的本地環境下使用的符號可能變化;
var a = 6666; a.toLocaleString(); // "6,666" a.toString(); //"6666"
var dt = new Date(); console.log(dt.toLocaleString()); //2019/9/11 下午4:46:04 console.log(dt.toString()); //Wed Sep 11 2019 16:46:04 GMT+0800
3.toFixed() 返回字符串值,它包含了指定位數小數的數字。
let num1 = 3.1415; console.log(num1.toFixed(0)); // 3 console.log(num1.toFixed(1)); // 3.1 console.log(num1.toFixed(2)); // 3.14 console.log(num1.toFixed(5)); // 3.14150
- toFixed(2) 非常適合處理金錢。
4.Number() 可用於把 JavaScript 變量轉換為數值。
Number(true); // 1 Number(false); //0 let x = new Date(); console.log(Number(x)); // 1568186258917 時間戳 Number() 方法返回 1970 年 1 月 1 日至今的毫秒數 console.log(Number(new Date("2019-09-11"))); // 1568186258917 時間戳 Number() 還可以把日期轉換為數字: Number('12'); // 12 數字類型 Number(11 22); // NaN Number(undefined); //NaN
特殊情況 因為空字符串、null 和0都是false
Number(null) ;//0; Number(''); //0;
5.parseInt() 解析一段字符串,並返回一個整數。(取整)
parseInt("10"); // 返回 10 parseInt("10.33"); // 返回 10 parseInt("10 20 30"); // 返回 10 parseInt("10 years"); // 返回 10 parseInt("years 10"); // 返回 NaN 如果無法轉換為數值,則返回 NaN (Not a Number)
6.parseFloat()解析一個字符串,並返回一個浮點數。
- parseFloat() 解析一段字符串並返回數值。允許空格。只返回首個數字
- 如果無法轉換為數值,則返回 NaN (Not a Numbe)
parseFloat("10"); // 返回 10 parseFloat("10.33"); // 返回 10.33 parseFloat("10 20 30"); // 返回 10 parseFloat("10 years"); // 返回 10 parseFloat("years 10"); // 返回 NaN
7. Math.min() 方法可返回兩個指定的數中帶有較小的值的那個數。
Math.min(5,'7'); //5 Math.min(5,'q'); //NaN 如果有某個參數為 NaN,或是不能轉換成數字的非數字值,則返回 NaN
8. Math.max() 方法可返回兩個指定的數中帶有較大的值的那個數。
Math.max(5,'7'); //7 Math.max(5,'q'); //NaN 如果有某個參數為 NaN,或是不能轉換成數字的非數字值,則返回 NaN
9.Math.abs() 方法可返回數的絕對值
Math.abs(-7.25); // 7.25
10.Math.ceil() 方法可對一個數進行上舍入
- ceil() 方法執行的是向上取整計算,它返回的是大於或等於函數參數,並且與之最接近的整數。
Math.ceil(0.60); //1 Math.ceil(0.40); //1 Math.ceil(-5.1); //5
11.Math.floo() 方法可對一個數進行下舍入
Math.floor(0.60); //0 Math.floor(0.40); //0 Math.floor(-5.1); //-6
12.Number.isInteger() 用於判斷其參數是為整數
Number.isInteger(0); // true Number.isInteger(0.1); // false
13.Number.parseFloat()和parseFloat()一樣。
14.Number.parseInt()和parseInt()一樣。
15.isNaN() 函數用於檢查其參數是否是非數字值(和Number.isNaN()一樣)
無法使用 for/in 循環來枚舉 NaN 屬性,也不能用 delete 運算符來刪除它。
使用 isNaN() 來判斷一個值是否是數字。原因是 NaN 與所有值都不相等,包括它自己。
false的話 就是數字或者隱形數字類型
isNaN(123); // false isNaN('123'); //false isNaN('cao'); //true isNaN('NaN');//true
es6新增
16.Math.trunc方法用於去除一個數的小數部分,返回整數部分。
Math.trunc(4.1) // 4 Math.trunc(4.9) // 4 Math.trunc(-4.1) // -4 Math.trunc(-4.9) // -4 Math.trunc(NaN); // NaN Math.trunc('foo'); // NaN Math.trunc(); // NaN
17.Math.sign方法用來判斷一個數到底是正數、負數、還是零參數為正數,返回+1;
- 參數為負數,返回-1;
- 參數為正數,返回+1;
- 參數為0,返回0;
- 參數為-0,返回-0;
- 其他值,返回NaN。
Math.sign(-5) // -1 Math.sign(5) // +1 Math.sign(0) // +0 Math.sign(-0) // -0 Math.sign(NaN) // NaN Math.sign('foo'); // NaN Math.sign(); // NaN