TypeScript - 数字



TypeScript 就像 JavaScript 一样,支持数字值作为 Number 对象。数字对象将数字字面量转换为 Number 类的实例。Number 类充当包装器,并允许像操作对象一样操作数字字面量。

TypeScript 的number 类型表示数值。所有数字都表示为浮点数。TypeScript 还支持 ECMAScript 2015 中引入的二进制、八进制和十六进制数字。

在 TypeScript 中,我们可以创建数字原始值以及 Number 对象。

语法

我们可以使用冒号 (:) 在变量名之后声明 number 类型的变量,然后是 number −

let varName: number = value;

在上面的语法中,我们声明了一个名为 varName 的 number 类型的变量。此处 value 是任何数值,例如十进制、二进制、八进制或十六进制数字。

我们可以创建 Number 对象。要创建 Number 对象,我们可以使用 Number() 构造函数,如下所示 −

var var_name = new Number(value)

如果将非数字参数作为参数传递给 Number 的构造函数,则它将返回 NaN(非数字)。

类型 'Number' 是一个包装对象,但类型 'number' 是一个原始类型。尽可能使用 'number'。类型 'Number' 无法分配给类型 'number'。

创建数字类型

在下面的示例中,我们创建了一个 number 类型的变量 count。我们将 10 分配给 count。

let count: number = 10;
console.log(count);

编译后,它将生成以下 JavaScript 代码。

let count = 10;
console.log(count);

输出如下 −

10

我们还可以将浮点数、二进制、八进制和十六进制值分配给 number 类型的变量。查看下面的 TypeScript 代码片段 –

let decNum: number = 10.6; // floating point number
let binNum: number = 0b101001; // binary number
let octNum: number = 0o45; // octal number
let hexNum: number = 0x80fd; // hexadecimal number

创建 Number 对象

const count = new Number(10);
console.log(count);
console.log(typeof count);

编译后,它将生成相同的 JavaScript 代码。

上述示例代码的输出如下 –

[Number: 10]
Object

Number 属性

下表列出了 Number 对象的一组属性 −

序号 属性 & 描述
1.

MAX_VALUE

JavaScript 中数字可以具有的最大可能值 1.7976931348623157E+308。

2.

MIN_VALUE

JavaScript 中数字可以具有的最小可能值 5E-324。

3.

NaN

等于非数字的值。

4.

NEGATIVE_INFINITY

小于 MIN_VALUE 的值。

5.

POSITIVE_INFINITY

大于 MAX_VALUE 的值。

6.

prototype

Number 对象的静态属性。使用 prototype 属性将新的属性和方法分配给当前文档中的 Number 对象。

7.

constructor

返回创建此对象实例的函数。默认情况下,它是 Number 对象。

示例

console.log("TypeScript Number Properties: "); 
console.log("Maximum value that a number variable can hold: " + Number.MAX_VALUE); 
console.log("The least value that a number variable can hold: " + Number.MIN_VALUE); 
console.log("Value of Negative Infinity: " + Number.NEGATIVE_INFINITY); 
console.log("Value of Negative Infinity:" + Number.POSITIVE_INFINITY);

编译后,它将生成 JavaScript 中的相同代码。

其输出如下 −

TypeScript Number Properties:  
Maximum value that a number variable can hold: 1.7976931348623157e+308 
The least value that a number variable can hold: 5e-324 
Value of Negative Infinity: -Infinity 
Value of Negative Infinity:Infinity

示例:NaN

var month = 0 
if( month<=0 || month >12) { 
   month = Number.NaN 
   console.log("Month is "+ month) 
} else { 
   console.log("Value Accepted..") 
}

编译后,它将生成 JavaScript 中的相同代码。

其输出如下 −

Month is NaN

示例:prototype

function employee(id:number,name:string) { 
   this.id = id 
   this.name = name 
} 

var emp = new employee(123,"Smith") 
employee.prototype.email = "[email protected]" 

console.log("Employee's Id: "+emp.id) 
console.log("Employee's name: "+emp.name) 
console.log("Employee's Email ID: "+emp.email)

编译后,它将生成以下 JavaScript 代码 −

//Generated by typescript 1.8.10
function employee(id, name) {
   this.id = id;
   this.name = name;
}

var emp = new employee(123, "Smith");
employee.prototype.email = "[email protected]";

console.log("Employee 's Id: " + emp.id);
console.log("Employee's name: " + emp.name);
console.log("Employee's Email ID: " + emp.email);

其输出如下 −

Employee's Id: 123 
Emaployee's name: Smith 
Employee's Email ID: [email protected]

Number 方法

Number 对象仅包含默认方法,这些方法是每个对象定义的一部分。一些常用的方法列在下面 −

序号 方法 & 描述
1. toExponential()

强制数字以指数表示法显示,即使该数字处于 JavaScript 通常使用标准表示法的范围内。

2. toFixed()

格式化数字,使其在小数点右侧具有特定数量的数字。

3. toLocaleString()

返回当前数字的字符串值版本,其格式可能因浏览器的本地设置而异。

4. toPrecision()

定义要显示数字的总位数(包括小数点左侧和小数点右侧的数字)。负精度将引发错误。

5. toString()

返回数字值的字符串表示形式。该函数传递基数,一个介于 2 和 36 之间的整数,指定用于表示数值的基数。

6. valueOf()

返回数字的原始值。

广告