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 对象属性和方法的描述和实例。