JavaScript中Number数字类型如何使用详解?

2026-04-02 22:051阅读0评论SEO问题
  • 内容介绍
  • 相关推荐

本文共计1543个文字,预计阅读时间需要7分钟。

JavaScript中Number数字类型如何使用详解?

目录+前言+Number+数字+自带属性值+基础使用+总结+源码地址+前言+Number和Math都属于JavaScript中的内置对象,Number作为数字类型,是基础的数据类型之一。我们在开发过程中会经常使用到,包括数字精度等。

总结+源码地址

目录
  • 前言
  • Number数字
    • 自带属性值
    • 基础使用
  • 总结
    • 源码地址

      前言

      Number和Math都属于JavaScript中的内置对象,Number数字类型作为基础数据类型,我们在开发过程中会经常用到,包括数字精度的格式化,还有字符串转换成数字等操作。

      Number数字

      自带属性值

      Number.EPSILON 两个可表示(representable)数之间的最小间隔。

      Number.MAX_SAFE_INTEGER JavaScript 中最大的安全整数 (2^53 - 1)。

      Number.MAX_VALUE 能表示的最大正数。最小的负数是 -MAX_VALUE。

      Number.MIN_SAFE_INTEGER JavaScript 中最小的安全整数 (-(2^53 - 1)).

      Number.MIN_VALUE 能表示的最小正数即最接近 0 的正数 (实际上不会变成 0)。最大的负数是 -MIN_VALUE。

      Number.NaN 特殊的“非数字”值。

      Number.NEGATIVE_INFINITY 特殊的负无穷大值,在溢出时返回该值。

      Number.POSITIVE_INFINITY 特殊的正无穷大值,在溢出时返回该值。

      基础使用

      new Number实例化数字对象和Number强转数字字符串,两个值的并不相等

      var value1 = new Number("123"); this.value1 = value1; console.log(`value1 === 123 is ${value1 === 123}`); // value1 === 123 is false var value2 = Number("123"); this.value2 = value2; console.log(`value2 === 123 is ${value2 === 123}`); // value2 === 123 is true // 判断Number类型 console.log(value1 instanceof Number); console.log(value2 instanceof Number);

      Number将转换字符串为数字

      Number("123"); // 123 Number("12.3"); // 12.3 Number("12.00"); // 12 Number("123e-1"); // 12.3 Number(""); // 0 Number(null); // 0 Number("0x11"); // 17 Number("0b11"); // 3 Number("0o11"); // 9 Number("foo"); // NaN Number("100a"); // NaN Number("-Infinity"); //-Infinity

      Number判断数字是否是NAN

      let number1 = new Number("123"); let number2 = 123; let number3 = "string"; let number4 = null; console.log(Number.isNaN(number1)); // false console.log(Number.isNaN(number2)); // false console.log(Number.isNaN(number3)); // false console.log(Number.isNaN(number4)); // false console.log(Number.isNaN(NaN)); // true

      Number.isFinite 是否是一个有穷数

      console.log(Number.isFinite(1 / 0)); // false console.log(Number.isFinite(10 / 5)); // true console.log(Number.isFinite(0 / 0)); // false

      Number.isInteger 判断给定的参数是否为整数

      function checkInteger(x, y) { if (Number.isInteger(y / x)) { return "整数"; } return "非整数"; } console.log(checkInteger(5, 10)); // "整数" console.log(checkInteger(5, 11)); // "非整数"

      Number.isSafeInteger 判断传入的参数值是否是一个“安全整数”(safe integer)

      备注:

      Number.isSafeInteger() 方法用来判断传入的参数值是否是一个“安全整数”(safe integer)。

      一个安全整数是一个符合下面条件的整数:

      可以准确地表示为一个IEEE-754双精度数字,
      其IEEE-754表示不能是舍入任何其他整数以适应IEEE-754表示的结果。

      比如,2^53 - 1 是一个安全整数,它能被精确表示,在任何 IEEE-754 舍入模式(rounding mode)下,没有其他整数舍入结果为该整数。作为对比,2^53 就不是一个安全整数,它* 能够使用 IEEE-754 表示,但是 2^53 + 1 不能使用 IEEE-754 直接表示,在就近舍入(round-to-nearest)和向零舍入中,会被舍入为 2^53。

      安全整数范围为 -(2^53 - 1)到 2^53 - 1 之间的整数,包含 -(2^53 - 1)和 2^53 - 1。

      Number.isSafeInteger(3); // true Number.isSafeInteger(Math.pow(2, 53)); // false Number.isSafeInteger(Math.pow(2, 53) - 1); // true Number.isSafeInteger(NaN); // false Number.isSafeInteger(Infinity); // false Number.isSafeInteger("3"); // false Number.isSafeInteger(3.1); // false Number.isSafeInteger(3.0); // true

      Number.parseFloat 将字符串数字转成数字类型

      备注:

      • 方法可以把一个字符串解析成浮点数。该方法与全局的 parseFloat() 函数相同,并且处于 ECMAScript 6 规范中(用于全局变量的模块化)。
      • 给定值被解析成浮点数,如果无法被解析成浮点数,则返回NaN

      function checkFloat(r) { return parseFloat(r); } console.log(checkFloat(4.567)); // 4.567 console.log(checkFloat("4.567abcdefgh")); // 4.567 console.log(checkFloat("abcdefgh")); // NaN

      Number.parseInt 将数字字符串转成整数

      /** * * Number.parseInt() * 方法依据指定基数 [ 参数 radix 的值],把字符串 [ 参数 string 的值] 解析成整数。 * @params string:要解析的值。 如果此参数不是字符串,则使用ToString抽象操作将其转换为字符串。忽略此参数中的前导空格。 * @params radix:一个介于2到36之间的整数,代表字符串的基数(数学数字系统中的基)。小心-这并不是默认为10。 * 从给定字符串中解析的整数。如果基数小于11,且第一个非空白字符不能转换为数字,则返回NaN。 * * */ function checkInt(x, base) { const parsed = parseInt(x, base); if (isNaN(parsed)) { return 0; } return parsed * 100; } console.log(checkInt(" 0xF", 16)); // 1500 console.log(checkInt("321", 2)); // 0

      Number.prototype.toFixed() 把数字转换为字符串,返回小数点后有指定位数的数字

      var numObj = 5.123456; var n = numObj.toFixed(2); // 5.12

      Number.prototype.toPrecision() 以指定的精度返回该数值对象的字符串表示

      var numObj = 5.123456; console.log("numObj.toPrecision() is " + numObj.toPrecision()); // 输出 5.123456 console.log("numObj.toPrecision(5) is " + numObj.toPrecision(5)); // 输出 5.1235 console.log("numObj.toPrecision(2) is " + numObj.toPrecision(2)); // 输出 5.1 console.log("numObj.toPrecision(1) is " + numObj.toPrecision(1)); // 输出 5 // 注意:在某些情况下会以指数表示法返回 console.log((1234.5).toPrecision(2)); // "1.2e+3"

      Number 转换 Date 对象

      var d = new Date("December 17, 1995 03:24:00"); console.log(Number(d));

      总结

      在Number数字类型中,使用最多的应该是:

      JavaScript中Number数字类型如何使用详解?

      • isNaN判断数字是否是非数字NAN
      • parseFloat将数字字符串转成数字类型
      • parseInt 解析字符串转成整数
      • toPrecision作为数字的方法,返回该数值的指定精度,包含小数位
      • toFixed 返回指定小数点精度的数字,需要注意和toPrecision区分开来

      源码地址

      码云

      github

      以上就是详解javaScript中Number数字类型的使用的详细内容,更多关于javaScript Number数字类型的资料请关注自由互联其它相关文章!

      本文共计1543个文字,预计阅读时间需要7分钟。

      JavaScript中Number数字类型如何使用详解?

      目录+前言+Number+数字+自带属性值+基础使用+总结+源码地址+前言+Number和Math都属于JavaScript中的内置对象,Number作为数字类型,是基础的数据类型之一。我们在开发过程中会经常使用到,包括数字精度等。

      总结+源码地址

      目录
      • 前言
      • Number数字
        • 自带属性值
        • 基础使用
      • 总结
        • 源码地址

          前言

          Number和Math都属于JavaScript中的内置对象,Number数字类型作为基础数据类型,我们在开发过程中会经常用到,包括数字精度的格式化,还有字符串转换成数字等操作。

          Number数字

          自带属性值

          Number.EPSILON 两个可表示(representable)数之间的最小间隔。

          Number.MAX_SAFE_INTEGER JavaScript 中最大的安全整数 (2^53 - 1)。

          Number.MAX_VALUE 能表示的最大正数。最小的负数是 -MAX_VALUE。

          Number.MIN_SAFE_INTEGER JavaScript 中最小的安全整数 (-(2^53 - 1)).

          Number.MIN_VALUE 能表示的最小正数即最接近 0 的正数 (实际上不会变成 0)。最大的负数是 -MIN_VALUE。

          Number.NaN 特殊的“非数字”值。

          Number.NEGATIVE_INFINITY 特殊的负无穷大值,在溢出时返回该值。

          Number.POSITIVE_INFINITY 特殊的正无穷大值,在溢出时返回该值。

          基础使用

          new Number实例化数字对象和Number强转数字字符串,两个值的并不相等

          var value1 = new Number("123"); this.value1 = value1; console.log(`value1 === 123 is ${value1 === 123}`); // value1 === 123 is false var value2 = Number("123"); this.value2 = value2; console.log(`value2 === 123 is ${value2 === 123}`); // value2 === 123 is true // 判断Number类型 console.log(value1 instanceof Number); console.log(value2 instanceof Number);

          Number将转换字符串为数字

          Number("123"); // 123 Number("12.3"); // 12.3 Number("12.00"); // 12 Number("123e-1"); // 12.3 Number(""); // 0 Number(null); // 0 Number("0x11"); // 17 Number("0b11"); // 3 Number("0o11"); // 9 Number("foo"); // NaN Number("100a"); // NaN Number("-Infinity"); //-Infinity

          Number判断数字是否是NAN

          let number1 = new Number("123"); let number2 = 123; let number3 = "string"; let number4 = null; console.log(Number.isNaN(number1)); // false console.log(Number.isNaN(number2)); // false console.log(Number.isNaN(number3)); // false console.log(Number.isNaN(number4)); // false console.log(Number.isNaN(NaN)); // true

          Number.isFinite 是否是一个有穷数

          console.log(Number.isFinite(1 / 0)); // false console.log(Number.isFinite(10 / 5)); // true console.log(Number.isFinite(0 / 0)); // false

          Number.isInteger 判断给定的参数是否为整数

          function checkInteger(x, y) { if (Number.isInteger(y / x)) { return "整数"; } return "非整数"; } console.log(checkInteger(5, 10)); // "整数" console.log(checkInteger(5, 11)); // "非整数"

          Number.isSafeInteger 判断传入的参数值是否是一个“安全整数”(safe integer)

          备注:

          Number.isSafeInteger() 方法用来判断传入的参数值是否是一个“安全整数”(safe integer)。

          一个安全整数是一个符合下面条件的整数:

          可以准确地表示为一个IEEE-754双精度数字,
          其IEEE-754表示不能是舍入任何其他整数以适应IEEE-754表示的结果。

          比如,2^53 - 1 是一个安全整数,它能被精确表示,在任何 IEEE-754 舍入模式(rounding mode)下,没有其他整数舍入结果为该整数。作为对比,2^53 就不是一个安全整数,它* 能够使用 IEEE-754 表示,但是 2^53 + 1 不能使用 IEEE-754 直接表示,在就近舍入(round-to-nearest)和向零舍入中,会被舍入为 2^53。

          安全整数范围为 -(2^53 - 1)到 2^53 - 1 之间的整数,包含 -(2^53 - 1)和 2^53 - 1。

          Number.isSafeInteger(3); // true Number.isSafeInteger(Math.pow(2, 53)); // false Number.isSafeInteger(Math.pow(2, 53) - 1); // true Number.isSafeInteger(NaN); // false Number.isSafeInteger(Infinity); // false Number.isSafeInteger("3"); // false Number.isSafeInteger(3.1); // false Number.isSafeInteger(3.0); // true

          Number.parseFloat 将字符串数字转成数字类型

          备注:

          • 方法可以把一个字符串解析成浮点数。该方法与全局的 parseFloat() 函数相同,并且处于 ECMAScript 6 规范中(用于全局变量的模块化)。
          • 给定值被解析成浮点数,如果无法被解析成浮点数,则返回NaN

          function checkFloat(r) { return parseFloat(r); } console.log(checkFloat(4.567)); // 4.567 console.log(checkFloat("4.567abcdefgh")); // 4.567 console.log(checkFloat("abcdefgh")); // NaN

          Number.parseInt 将数字字符串转成整数

          /** * * Number.parseInt() * 方法依据指定基数 [ 参数 radix 的值],把字符串 [ 参数 string 的值] 解析成整数。 * @params string:要解析的值。 如果此参数不是字符串,则使用ToString抽象操作将其转换为字符串。忽略此参数中的前导空格。 * @params radix:一个介于2到36之间的整数,代表字符串的基数(数学数字系统中的基)。小心-这并不是默认为10。 * 从给定字符串中解析的整数。如果基数小于11,且第一个非空白字符不能转换为数字,则返回NaN。 * * */ function checkInt(x, base) { const parsed = parseInt(x, base); if (isNaN(parsed)) { return 0; } return parsed * 100; } console.log(checkInt(" 0xF", 16)); // 1500 console.log(checkInt("321", 2)); // 0

          Number.prototype.toFixed() 把数字转换为字符串,返回小数点后有指定位数的数字

          var numObj = 5.123456; var n = numObj.toFixed(2); // 5.12

          Number.prototype.toPrecision() 以指定的精度返回该数值对象的字符串表示

          var numObj = 5.123456; console.log("numObj.toPrecision() is " + numObj.toPrecision()); // 输出 5.123456 console.log("numObj.toPrecision(5) is " + numObj.toPrecision(5)); // 输出 5.1235 console.log("numObj.toPrecision(2) is " + numObj.toPrecision(2)); // 输出 5.1 console.log("numObj.toPrecision(1) is " + numObj.toPrecision(1)); // 输出 5 // 注意:在某些情况下会以指数表示法返回 console.log((1234.5).toPrecision(2)); // "1.2e+3"

          Number 转换 Date 对象

          var d = new Date("December 17, 1995 03:24:00"); console.log(Number(d));

          总结

          在Number数字类型中,使用最多的应该是:

          JavaScript中Number数字类型如何使用详解?

          • isNaN判断数字是否是非数字NAN
          • parseFloat将数字字符串转成数字类型
          • parseInt 解析字符串转成整数
          • toPrecision作为数字的方法,返回该数值的指定精度,包含小数位
          • toFixed 返回指定小数点精度的数字,需要注意和toPrecision区分开来

          源码地址

          码云

          github

          以上就是详解javaScript中Number数字类型的使用的详细内容,更多关于javaScript Number数字类型的资料请关注自由互联其它相关文章!