JavaScript 数字方法
-
数字方法和属性
原始值(如3.14或2014)不能具有属性和方法(因为它们不是对象)。但是使用JavaScript,方法和属性也可用于原始值,因为JavaScript在执行方法和属性时将原始值视为对象。 -
toString()方法
toString()方法返回一个数字字符串。所有数字方法都可用于任何类型的数字(文字,变量或表达式):
尝试一下var x = 123; x.toString(); // 返回 123 从 变量 x (123).toString(); // 返回 123 从 文字 123 (100 + 23).toString(); // 返回 123 从 表达式 100 + 23
-
toExponential()方法
toExponential()返回一个字符串,使用指数表示法对数字进行舍入和写入。参数定义小数点后面的字符数:
尝试一下var x = 9.656; x.toExponential(2); // 返回 9.66e+0 x.toExponential(4); // 返回 9.6560e+0 x.toExponential(6); // 返回 9.656000e+0
该参数是可选的。如果您没有指定它,JavaScript将不会对数字进行舍入。 -
-
toPrecision()方法
toPrecision()返回一个字符串,其中的数字写有指定的长度:
尝试一下var x = 9.656; x.toPrecision(); // 返回 9.656 x.toPrecision(2); // 返回 9.7 x.toPrecision(4); // 返回 9.656 x.toPrecision(6); // 返回 9.65600
-
valueOf()方法
valueOf()返回一个数字类型的数字。
尝试一下var x = 123; x.valueOf(); // 返回 123 从 变量 x (123).valueOf(); // 返回 123 从 文字 123 (100 + 23).valueOf(); // 返回 123 从 表达式 100 + 23
在JavaScript中,数字可以是原始值(typeof = number)或对象(typeof = object)。valueOf()方法在JavaScript内部用于将Number对象转换为原始值。所有JavaScript数据类型都有一个valueOf()和一个toString()方法。
-
将变量转换为数字
有3种JavaScript方法可用于将变量转换为数字:方法 描述 Number() 返回一个从其参数转换而来的数字。 parseFloat() 解析其参数并返回浮点数 parseInt() 解析其参数并返回一个整数 这些方法不是数字方法,而是全局JavaScript方法。JavaScript全局方法可用于所有JavaScript数据类型。在处理数字时,这些是最相关的方法: -
Number()方法
Number()可用于将JavaScript变量转换为数字:
尝试一下Number(true); // 返回 1 Number(false); // 返回 0 Number("10"); // 返回 10 Number(" 10"); // 返回 10 Number("10 "); // 返回 10 Number(" 10 "); // 返回 10 Number("10.33"); // 返回 10.33 Number("10,33"); // 返回 NaN Number("10 33"); // 返回 NaN Number("John"); // 返回 NaN
如果无法转换数字,则返回NaN(非数字)。日期使用的Number()方法Number()还可以将日期转换为数字(时间戳,是1970年1月1日0点开始的豪秒数):
尝试一下Number(new Date("2017-09-30")); // 返回 1506729600000
-
parseInt()方法
parseInt()解析一个字符串(允许空格)并返回一个整数。只返回第一个数字:
尝试一下parseInt("10"); // 返回 10 parseInt("10.33"); // 返回 10 parseInt("10 20 30"); // 返回 10 parseInt("10 years"); // 返回 10 parseInt("years 10"); // 返回 NaN
如果无法转换数字,则返回NaN(非数字)。 -
parseFloat()方法
parseFloat()解析一个字符串(允许空格)并返回一个数字。只返回第一个数字:
尝试一下parseFloat("10"); // 返回 10 parseFloat("10.33"); // 返回 10.33 parseFloat("10 20 30"); // 返回 10 parseFloat("10 years"); // 返回 10 parseFloat("years 10"); // 返回 NaN
如果无法转换数字,则返回NaN(非数字)。 -
数字属性
属性 描述 MAX_VALUE 返回JavaScript中可能的最大数字 MIN_VALUE 返回JavaScript中可能的最小数字 POSITIVE_INFINITY 表示无穷大(溢出时返回) NEGATIVE_INFINITY 表示负无穷大(溢出时返回) NaN 表示“非数字”值 -
-
-
-
数字属性不能在变量上使用
Number属性属于名为Number的JavaScript的数字对象包装器。这些属性只能作为Number对象的属性访问。使用myNumber.MAX_VALUE,其中myNumber是变量,表达式或值,将返回undefined:
尝试一下var x = 6; var y = x.MAX_VALUE; // y 将成为 undefined
完整的JavaScript数字参考,请查看我们的JavaScript参考