你应该知道的 12 个 JavaScript 数字方法

处理数字是编程的一个组成部分。JavaScript 数字对象是一个原始包装对象,用于表示和操作数字。JavaScript 提供了几种处理数字的方法。

在本文中,您将学习 12 个您应该知道的 JavaScript Number 方法。

parseInt函数()方法分析给定的字符串参数,并返回从字符串进行解析的整数。

let num1 = Number.parseInt("34");
console.log(num1);
let num2 = Number.parseInt("5324 ");
console.log(num2);
let num3 = Number.parseInt("32.65");
console.log(num3);

输出

34
5324
32

如果无法从给定字符串解析整数,则该方法返回NaN

let num4 = Number.parseInt("Hello, World!");
console.log(num4);
let num5 = Number.parseInt("...#@$$");
console.log(num5);

输出

NaN
NaN

所述的toString()方法返回在一个字符串的形式给定的号码。此方法接受基数(数学数字系统中的基数)作为可选参数并返回表示指定 Number 对象的字符串。

let num1 = 213;
console.log(num1.toString());
let num2 = 25.56;
console.log(num2.toString());
let num3 = -673;
console.log(num3.toString());
let num4 = 15;
// Base 2
console.log(num4.toString(2));

输出

213
25.56
-673
1111

所述toExponential()方法返回表示给定数的指数表示法的字符串。此方法接受fractionDigits 作为可选参数,指定小数点后的位数。

let num1 = 23425;
console.log(num1.toExponential());
let num2 = 342;
console.log(num2.toExponential(2));
let num3 = 465500;
console.log(num3.toExponential(4));
let num4 = 886.456;
console.log(num4.toExponential());
let num5 = 0.34;
console.log(num5.toExponential());

输出

2.3425e+4
3.42e+2
4.6550e+5
8.86456e+2
3.4e-1

toFixed()方法返回表示使用定点表示法格式化的数的字符串。此方法接受一个可选参数,该参数指定小数点后出现的位数。如果不提供参数,则该参数的值被视为 0。

let num1 = 234.345;
console.log(num1.toFixed(1));
let num2 = -783.234;
console.log(num2.toFixed(2));
let num3 = 213;
console.log(num3.toFixed(4));
let num4 = 345.23;
console.log(num4.toFixed());
let num5 = 785.123;
console.log(num5.toFixed(0));

输出

234.3
-783.23
213.0000
345
785

所述toPrecision()方法返回表示为指定的精确数量的字符串。此方法接受一个可选参数,该参数指定有效数字的位数。

let num1 = 234.345;
console.log(num1.toPrecision(4));
let num2 = -783.234;
console.log(num2.toPrecision(5));
let num3 = 213;
console.log(num3.toPrecision(4));
let num4 = 345.23;
console.log(num4.toPrecision(3));
let num5 = 785.123;
console.log(num5.toPrecision(5));

输出

234.3
-783.23
213.0
345
785.12

所述的valueOf()方法返回一个数字对象的原始值。

let num1 = 234.345;
console.log(num1.valueOf());
let num2 = -783.234;
console.log(num2.valueOf());
console.log((327).valueOf());
console.log((25+25).valueOf());
console.log((0.003).valueOf());

输出

234.345
-783.234
327
50
0.003

JavaScript toLocaleString()方法返回一个字符串,其中包含一个数字的语言敏感表示。

let num = 762359.237;
// Indian
console.log(num.toLocaleString('en-IN'));
// Chinese
console.log(num.toLocaleString('zh-Hans-CN-u-nu-hanidec'));
// German
console.log(num.toLocaleString('de-DE'));

输出

7,62,359.237
七六二,三五九.二三七
762.359,237

parseInt函数()方法分析给定的字符串参数,并返回从字符串解析的浮点数。

let num1 = Number.parseFloat("34.235");
console.log(num1);
let num2 = Number.parseFloat(" 5324.45 ");
console.log(num2);
let num3 = Number.parseFloat("32.65");
console.log(num3);
let num4 = Number.parseFloat("2 Welcome MUO");
console.log(num4);

输出

34.235
5324.45
32.65
2

如果无法从给定字符串解析数字,则该方法返回NaN

let num5 = Number.parseFloat("Welcome 2 MUO"); 
console.log(num5);
let num6 = Number.parseFloat("#$^$^");
console.log(num6);

输出

NaN
NaN

所述isInteger()方法检查是否传递的值是一个整数。此方法返回一个布尔值(truefalse),指示给定的值是否为整数。

let num1 = 45;
console.log(Number.isInteger(num1));
let num2 = 0;
console.log(Number.isInteger(num2));
let num3 = 1;
console.log(Number.isInteger(num3));
let num4 = 0.8;
console.log(Number.isInteger(num4));
let num5 = 8.0;
console.log(Number.isInteger(num5));
let num6 = Infinity;
console.log(Number.isInteger(num6));
let num7 = NaN;
console.log(Number.isInteger(num7));
let num8 = [1, 2, 3];
console.log(Number.isInteger(num8));
let num9 = "45";
console.log(Number.isInteger(num9));
let num10 = true;
console.log(Number.isInteger(num10));

输出

true
true
true
false
true
false
false
false
false
false

所述isFinite的()方法检查是否传递的值是一个有限数。此方法返回一个布尔值(truefalse),指示给定的值是否有限。

let num1 = 386483265486;
console.log(Number.isFinite(num1));
let num2 = 0000000;
console.log(Number.isFinite(num2));
let num3 = Infinity;
console.log(Number.isFinite(num3));
let num4 = -Infinity;
console.log(Number.isFinite(num4));
let num5 = 32e34;
console.log(Number.isFinite(num5));
let num6 = '0';
console.log(Number.isFinite(num6));
let num7 = NaN;
console.log(Number.isFinite(num7));
let num8 = 0 / 0;
console.log(Number.isFinite(num8));
let num9 = null;
console.log(Number.isFinite(num9));
let num10 = 23/0;
console.log(Number.isFinite(num10));

输出

true
true
false
false
true
false
false
false
false
false

所述isSafeInteger()方法检查值是否为一个安全的整数。此方法返回一个布尔值(truefalse),指示给定的值是否为安全整数。

根据官方MDN Docs,安全整数是一个整数:

  • 可以精确地表示为 IEEE-754 双精度数,并且
  • 其 IEEE-754 表示不能是四舍五入任何其他整数以适合 IEEE-754 表示的结果。
  • let num1 = 386483265486;
    console.log(Number.isSafeInteger(num1));
    let num2 = 0000000;
    console.log(Number.isSafeInteger(num2));
    let num3 = Infinity;
    console.log(Number.isSafeInteger(num3));
    let num4 = -Infinity;
    console.log(Number.isSafeInteger(num4));
    let num5 = 32e34;
    console.log(Number.isSafeInteger(num5));
    let num6 = '0';
    console.log(Number.isSafeInteger(num6));
    let num7 = NaN;
    console.log(Number.isSafeInteger(num7));
    let num8 = 34;
    console.log(Number.isSafeInteger(num8));
    let num9 = null;
    console.log(Number.isSafeInteger(num9));
    let num10 = 45.67;
    console.log(Number.isSafeInteger(num10));

    输出

    true
    true
    false
    false
    true
    false
    false
    false
    false
    false

    isNaN()方法检查的值是否为NaN的和它的类型是数字。如果给定值是 NaN 并且其类型是 Number,则此方法返回true,否则返回false

    let num1 = NaN;
    console.log(Number.isNaN(num1));
    let num2 = "NaN";
    console.log(Number.isNaN(num2));
    let num3 = Infinity;
    console.log(Number.isNaN(num3));
    let num4 = "string"/5;
    console.log(Number.isNaN(num4));
    let num5 = 32e34;
    console.log(Number.isNaN(num5));
    let num6 = '0';
    console.log(Number.isNaN(num6));
    let num7 = undefined;
    console.log(Number.isNaN(num7));
    let num8 = {};
    console.log(Number.isNaN(num8));

    输出

    true
    false
    false
    true
    false
    false
    false
    false

    如果您想查看本文中使用的完整源代码,请查看GitHub 存储库。

    JavaScript 是当今 Web 开发人员使用的最流行的编程语言之一。要开发令人惊叹的基于 JavaScript 的项目,您首先需要了解该语言的基础知识。动手实践并巩固您的 JavaScript 基础知识。

    标签: JavaScript 编程 Web开发