JavaScript 数字方法

JavaScript 数字方法

这些数字方法可用于所有 JavaScript 数字:

方法 描述
toString() 将数字作为字符串返回。
toExponential() 返回以指数表示法书写的数字。
toFixed() 返回带小数位数的数字。
toPrecision() 返回指定长度的数字。
ValueOf() 以数字形式返回数字。

toString() 方法

toString() 方法将数字作为字符串返回。

所有数字方法都可以用于任何类型的数字(文字、变量或表达式):

实例

let x = 123;
x.toString();
(123).toString();
(100 + 23).toString();

亲自试一试

toExponential() 方法

toExponential() 返回字符串,其中的数字四舍五入并使用指数表示法书写。

参数定义小数点后的字符数:

实例

let x = 9.656;
x.toExponential(2);
x.toExponential(4);
x.toExponential(6);

亲自试一试

该参数是可选的。如果您不指定它,JavaScript 将不会对数字进行四舍五入。

toFixed() 方法

toFixed() 返回一个字符串,其中的数字带有指定位数的小数部分。

实例

let x = 9.656;
x.toFixed(0);
x.toFixed(2);
x.toFixed(4);
x.toFixed(6);

亲自试一试

提示:toFixed(2) 非常适合处理货币。

toPrecision() 方法

toPrecision() 返回一个字符串,其中包含指定长度的数字:

实例

let x = 9.656;
x.toPrecision();
x.toPrecision(2);
x.toPrecision(4);
x.toPrecision(6);

亲自试一试

valueOf() 方法

valueOf() 以数字形式返回数字。

实例

let x = 123;
x.valueOf();
(123).valueOf();
(100 + 23).valueOf();

亲自试一试

在 JavaScript 中,数字可以是原始值 (typeof = number) 或对象 (typeof = object)。

valueOf() 方法在 JavaScript 内部用于将 Number 对象转换为原始值。

没有理由在您的代码中使用它。

提示:所有 JavaScript 数据类型都有 valueOf() 和 toString() 方法。

将变量转换为数字

有 3 种 JavaScript 方法可用于将变量转换为数字:

方法 描述
Number() 返回从其参数转换而来的数字。
parseFloat() 解析其参数并返回浮点数。
parseInt() 解析其参数并返回整数。

上面的方法不是数字方法。它们是全局 JavaScript 方法

Number() 方法

Number() 方法可用于将 JavaScript 变量转换为数字:

实例

Number(true);
Number(false);
Number("10");
Number("  10");
Number("10  ");
Number(" 10  ");
Number("10.33");
Number("10,33");
Number("10 33");
Number("Bill");

亲自试一试

提示:如果无法转换数字,则返回 NaN (Not a Number,非数字)。

日期上使用的 Number() 方法

Number() 也可以将日期转换为数字。

实例

Number(new Date("1970-01-01"))

亲自试一试

注释:Date() 方法返回自 1970 年 1 月 1 日以来的毫秒数。

1970-01-02 和 1970-01-01 之间的毫秒数为 86400000:

实例

Number(new Date("1970-01-02"))

亲自试一试

实例

Number(new Date("2017-09-30"))

亲自试一试

parseInt() 方法

parseInt() 解析字符串并返回整数。允许有空格。仅返回第一个数字:

实例

parseInt("-10");
parseInt("-10.33");
parseInt("10");
parseInt("10.33");
parseInt("10 20 30");
parseInt("10 years");
parseInt("years 10");

亲自试一试

如果无法转换数字,则返回 NaN (Not a Number,非数字)。

parseFloat() 方法

parseFloat() 解析字符串并返回数字。允许有空格。仅返回第一个数字:

实例

parseFloat("10");
parseFloat("10.33");
parseFloat("10 20 30");
parseFloat("10 years");
parseFloat("years 10");

亲自试一试

如果无法转换数字,则返回 NaN (Not a Number,非数字)。

Number 对象方法

这些对象方法属于 Number 对象:

方法 描述
Number.isInteger() 如果参数是整数则返回 true。
Number.isSafeInteger() 如果参数是安全整数,则返回 true。
Number.parseFloat() 将字符串转换为数字。
Number.parseInt() 将字符串转换为整数。

数字方法不能用于变量

上面的数字方法属于 JavaScript Number 对象

这些方法只能像 Number.isInteger() 一样访问。

使用 X.isInteger() 其中 X 是一个变量,将导致错误:

TypeError X.isInteger is not a function.

Number.isInteger() 方法

如果参数是整数,则 Number.isInteger() 方法返回 true

实例

Number.isInteger(10);
Number.isInteger(10.5);

亲自试一试

Number.isSafeInteger() 方法

安全整数指的是可以被精确表示为双精度浮点数的整数。

如果参数是安全整数,则 Number.isSafeInteger() 方法返回 true

实例

Number.isSafeInteger(10);
Number.isSafeInteger(12345678901234567890);

亲自试一试

注意

安全整数是从 -(253 - 1) 到 +(253 - 1) 的所有整数。

这是安全的:9007199254740991。这是不安全的:9007199254740992。

Number.parseFloat() 方法

Number.parseFloat() 解析字符串并返回数字。

允许有空格。仅返回第一个数字:

实例

Number.parseFloat("10");
Number.parseFloat("10.33");
Number.parseFloat("10 20 30");
Number.parseFloat("10 years");
Number.parseFloat("years 10");

亲自试一试

如果无法转换数字,则返回 NaN (Not a Number,非数字)。

注意

Number.parseInt() 和 Number.parseFloat() 这两个方法与全局方法 parseInt() 和 parseFloat() 是相同的。

其目的在于全局方法的模块化(以便更容易在浏览器外部使用相同的 JavaScript 代码)。

Number.parseInt() 方法

Number.parseInt() 解析字符串并返回整数。

允许有空格。仅返回第一个数字:

实例

Number.parseInt("-10");
Number.parseInt("-10.33");
Number.parseInt("10");
Number.parseInt("10.33");
Number.parseInt("10 20 30");
Number.parseInt("10 years");
Number.parseInt("years 10");

亲自试一试

如果无法转换数字,则返回 NaN (Not a Number,非数字)。

完整的 JavaScript Number 参考手册

如需完整的参考手册,请访问我们完整的 JavaScript Number 参考手册

参考手册包含所有 Number 对象属性和方法的描述和实例。