TypeScript Number

TypeScript 與 JavaScript 類似,支援 Number 物件。

Number 物件是原始數值的包裝物件。

語法

var num = new Number(value);

注意: 如果一個引數值不能轉換為一個數字將返回 NaN (非數字值)。

Number 物件屬性

下表列出了 Number 物件支援的屬性:

序號 屬性 & 描述
1.

MAX_VALUE

可表示的最大的數,MAX_VALUE 屬性值接近於 1.79E+308。大於 MAX_VALUE 的值代表 "Infinity"。

2.

MIN_VALUE

可表示的最小的數,即最接近 0 的正數 (實際上不會變成 0)。最大的負數是 -MIN_VALUE,MIN_VALUE 的值約為 5e-324。小於 MIN_VALUE ("underflow values") 的值將會轉換為 0。

3.

NaN

非數字值(Not-A-Number)。

4.

NEGATIVE_INFINITY

負無窮大,溢位時返回該值。該值小於 MIN_VALUE。

5.

POSITIVE_INFINITY

正無窮大,溢位時返回該值。該值大於 MAX_VALUE。

6.

prototype

Number 物件的靜態屬性。使您有能力向物件新增屬性和方法。

7.

constructor

返回對建立此物件的 Number 函式的引用。

TypeScript

console.log("TypeScript Number 屬性: "); console.log("最大值為: " + Number.MAX_VALUE); console.log("最小值為: " + Number.MIN_VALUE); console.log("負無窮大: " + Number.NEGATIVE_INFINITY); console.log("正無窮大:" + Number.POSITIVE_INFINITY);

編譯以上程式碼,得到以下 JavaScript 程式碼:

JavaScript

console.log("TypeScript Number 屬性: "); console.log("最大值為: " + Number.MAX_VALUE); console.log("最小值為: " + Number.MIN_VALUE); console.log("負無窮大: " + Number.NEGATIVE_INFINITY); console.log("正無窮大:" + Number.POSITIVE_INFINITY);

輸出結果為:

TypeScript Number 屬性:
最大值為: 1.7976931348623157e+308
最小值為: 5e-324
負無窮大: -Infinity
正無窮大:Infinity

NaN 例項

TypeScript

var month = 0 if( month<=0 || month >12) { month = Number.NaN console.log("月份是:"+ month) } else { console.log("輸入月份數值正確。") }

編譯以上程式碼,得到以下 JavaScript 程式碼:

JavaScript

var month = 0; if (month <= 0 || month > 12) { month = Number.NaN; console.log("月份是:" + month); } else { console.log("輸入月份數值正確。"); }

輸出結果為:

月份是:NaN

prototype 例項

TypeScript

function employee(id:number,name:string) { this.id = id this.name = name } var emp = new employee(123,"admin") employee.prototype.email = "[email protected]" console.log("員工號: "+emp.id) console.log("員工姓名: "+emp.name) console.log("員工郵箱: "+emp.email)

編譯以上程式碼,得到以下 JavaScript 程式碼:

JavaScript

function employee(id, name) { this.id = id; this.name = name; } var emp = new employee(123, "admin"); employee.prototype.email = "[email protected]"; console.log("員工號: " + emp.id); console.log("員工姓名: " + emp.name); console.log("員工郵箱: " + emp.email);

輸出結果為:

員工號: 123
員工姓名: admin
員工郵箱: [email protected]

Number 物件方法

Number物件 支援以下方法:

序號 方法 & 描述 例項
1. toExponential()

把物件的值轉換為指數計數法。

//toExponential() 
var num1 = 1225.30 
var val = num1.toExponential(); 
console.log(val) // 輸出: 1.2253e+3
2. toFixed()

把數字轉換為字串,並對小數點指定位數。

var num3 = 177.234 
console.log("num3.toFixed() 為 "+num3.toFixed())    // 輸出:177
console.log("num3.toFixed(2) 為 "+num3.toFixed(2))  // 輸出:177.23
console.log("num3.toFixed(6) 為 "+num3.toFixed(6))  // 輸出:177.234000
3. toLocaleString()

把數字轉換為字串,使用本地數字格式順序。

var num = new Number(177.1234); 
console.log( num.toLocaleString());  // 輸出:177.1234
4. toPrecision()

把數字格式化為指定的長度。

var num = new Number(7.123456); 
console.log(num.toPrecision());  // 輸出:7.123456 
console.log(num.toPrecision(1)); // 輸出:7
console.log(num.toPrecision(2)); // 輸出:7.1
5. toString()

把數字轉換為字串,使用指定的基數。數字的基數是 2 ~ 36 之間的整數。若省略該引數,則使用基數 10。

var num = new Number(10); 
console.log(num.toString());  // 輸出10進位制:10
console.log(num.toString(2)); // 輸出2進位制:1010
console.log(num.toString(8)); // 輸出8進位制:12
6. valueOf()

返回一個 Number 物件的原始數字值。

var num = new Number(10); 
console.log(num.valueOf()); // 輸出:10