Skip to content

TypeScript 数值对象 Number

在 TypeScript 中,number 是一个基本数据类型,用于表示数字,包括整数和浮点数。除了这个基本类型,还有一个与之对应的内置对象 NumberNumber 对象是基本数字类型的包装对象,它提供了一些用于处理数字的属性和方法。

通常情况下,你直接使用 number 类型就足够了。当你对一个 number 类型的变量调用方法时(例如 toFixed()),JavaScript/TypeScript 会在后台自动将其包装成一个临时的 Number 对象来执行操作。

Number 对象的属性

Number 对象提供了一些有用的内置属性,这些属性是静态的,可以直接通过 Number 来访问。

  • Number.MAX_VALUE: 表示在 JavaScript 中可以表示的最大正数。

    typescript
    console.log(Number.MAX_VALUE); // 约 1.797e+308
  • Number.MIN_VALUE: 表示在 JavaScript 中可以表示的最小正数(最接近 0 的正数)。

    typescript
    console.log(Number.MIN_VALUE); // 约 5e-324
  • Number.NaN: 表示“非数字”(Not-a-Number)的特殊值。当算术运算返回一个未定义或无法表示的值时,就会得到 NaN

    typescript
    console.log(0 / 0); // NaN
    console.log(parseInt("hello")); // NaN
  • Number.POSITIVE_INFINITY: 表示正无穷大。

    typescript
    console.log(Number.POSITIVE_INFINITY); // Infinity
    console.log(1 / 0); // Infinity
  • Number.NEGATIVE_INFINITY: 表示负无穷大。

    typescript
    console.log(Number.NEGATIVE_INFINITY); // -Infinity
    console.log(-1 / 0); // -Infinity

Number 对象的方法

这些方法需要通过一个 number 类型的实例来调用。

  • toFixed(digits): 将数字格式化为指定小数位数的字符串。它会进行四舍五入。

    typescript
    let num = 123.45678;
    console.log(num.toFixed(2)); // "123.46"
    console.log(num.toFixed(0)); // "123"
  • toPrecision(precision): 将数字格式化为指定总长度(有效位数)的字符串。它也会进行四舍五入。

    typescript
    let num = 123.45678;
    console.log(num.toPrecision(4)); // "123.5"
    console.log(num.toPrecision(7)); // "123.4568"
    console.log(num.toPrecision(2)); // "1.2e+2"
  • toString(radix): 将数字转换为指定基数(进制)的字符串表示。radix 是一个 2 到 36 之间的整数。如果省略,默认为 10。

    typescript
    let num = 255;
    console.log(num.toString());    // "255" (十进制)
    console.log(num.toString(16));  // "ff" (十六进制)
    console.log(num.toString(8));   // "377" (八进制)
    console.log(num.toString(2));   // "11111111" (二进制)
  • toExponential(fractionDigits): 返回一个数字的指数表示法的字符串。fractionDigits 是可选的,用于指定小数部分的位数。

    typescript
    let num = 12345;
    console.log(num.toExponential()); // "1.2345e+4"
    console.log(num.toExponential(2)); // "1.23e+4"
  • toLocaleString(): 返回一个表示该数字的本地化字符串。这在显示货币、日期等时很有用,因为它会根据用户的地区设置来格式化数字。

    typescript
    let largeNum = 1234567.89;
    // 在美国英语环境下
    console.log(largeNum.toLocaleString('en-US')); // "1,234,567.89"
    // 在德国德语环境下
    console.log(largeNum.toLocaleString('de-DE')); // "1.234.567,89"

这些方法为处理和展示数字提供了强大的灵活性。

本站内容仅供学习和研究使用。