TypeScript 提供了 number 类型来表示所有的数值,包括整数和浮点数。此外,TypeScript 还支持二进制、八进制和十六进制数值表示。本文将详细介绍 number 类型的基本用法、常见方法以及类型转换等内容。


目录

  1. 基本语法
  2. 数值字面量
  3. Number 对象
  4. Number 常用方法
  5. 数值转换
  6. Math 数学对象
  7. 参考资料

1. 基本语法

TypeScript 通过 number 类型声明数值变量,支持整数和浮点数。

示例:

let age: number = 25;      // 整数
let price: number = 99.99; // 浮点数
let pi: number = 3.14159;  // 圆周率

console.log(age, price, pi);

输出:

25 99.99 3.14159


2. 数值字面量

TypeScript 允许使用多种格式来表示数值,包括:

  • 十进制(默认)
  • 十六进制(0x 开头)
  • 二进制(0b 开头)
  • 八进制(0o 开头)

示例:

let decimal: number = 10;    // 十进制
let hex: number = 0xff;      // 十六进制 (255)
let binary: number = 0b1010; // 二进制 (10)
let octal: number = 0o12;    // 八进制 (10)

console.log(decimal, hex, binary, octal);

输出:

10 255 10 10


3. Number 对象

JavaScript 的 Number 对象在 TypeScript 中同样适用,它用于处理数值类型的相关操作。

创建 Number 对象

let numObj: Number = new Number(42);
console.log(numObj.valueOf()); // 输出: 42

Number 相关的静态属性

属性说明
Number.MAX_VALUE最大的可表示数值(约 1.7976931348623157e+308)
Number.MIN_VALUE最小的正数(约 5e-324)
Number.POSITIVE_INFINITY正无穷大
Number.NEGATIVE_INFINITY负无穷大
Number.NaN非数值(Not-a-Number)

示例:

console.log(Number.MAX_VALUE); // 最大数值
console.log(Number.MIN_VALUE); // 最小正数
console.log(Number.POSITIVE_INFINITY); // Infinity
console.log(Number.NEGATIVE_INFINITY); // -Infinity
console.log(Number.NaN); // NaN


4. Number 常用方法

方法说明
toFixed(n)保留 n 位小数,并返回字符串
toExponential(n)以科学计数法返回数值,n 指定小数位数
toPrecision(n)以指定长度返回数值,可能返回整数或小数
valueOf()返回原始数值

示例:

let num: number = 123.456;

console.log(num.toFixed(2));       // "123.46"
console.log(num.toExponential(2)); // "1.23e+2"
console.log(num.toPrecision(4));   // "123.5"
console.log(num.valueOf());        // 123.456


5. 数值转换

在 TypeScript 中,可以使用 parseInt()parseFloat()Number() 将字符串转换为数值。

parseInt() 转换为整数

console.log(parseInt("42"));        // 42
console.log(parseInt("42px"));      // 42
console.log(parseInt("101", 2));    // 5 (二进制)

parseFloat() 转换为浮点数

console.log(parseFloat("3.14"));    // 3.14
console.log(parseFloat("3.14abc")); // 3.14

Number() 转换

console.log(Number("123"));   // 123
console.log(Number("123.45"));// 123.45
console.log(Number("abc"));   // NaN


6. Math 数学对象

TypeScript 继承了 JavaScript 的 Math 对象,提供了一系列数学函数。

常用数学方法

方法说明
Math.abs(x)取绝对值
Math.ceil(x)向上取整
Math.floor(x)向下取整
Math.round(x)四舍五入
Math.max(x, y, …)返回最大值
Math.min(x, y, …)返回最小值
Math.pow(x, y)计算 x^y
Math.sqrt(x)计算平方根
Math.random()返回 0~1 之间的随机数

示例:

console.log(Math.abs(-5));      // 5
console.log(Math.ceil(4.2));    // 5
console.log(Math.floor(4.9));   // 4
console.log(Math.round(4.5));   // 5
console.log(Math.max(10, 20));  // 20
console.log(Math.min(10, 20));  // 10
console.log(Math.pow(2, 3));    // 8
console.log(Math.sqrt(16));     // 4
console.log(Math.random());     // 随机数


7. 参考资料

📌 出站链接:

🔗 站内链接:


TypeScript 的 number 类型提供了丰富的数值操作功能,结合 Math 对象和 Number 方法,可以轻松进行数值计算和转换,提高开发效率。