JavaScript数字方法



数字方法和属性

原始值 (像 3.14 或者 2014), 没有属性和方法 (因为它们不是对象).

但对于JavaScript,方法和属性也能应用于原始值,因为执行方法和属性时,JavaScript将原始值作为对象对待。


toString() 方法

toString() 作为字符串返回数字.

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

var x = 123;
x.toString();            // returns 123 from variable x
(123).toString();        // returns 123 from literal 123
(100 + 23).toString();   // returns 123 from expression 100 + 23

让我试试


toExponential() 方法

toExponential() 方法返回一个字符串, 用指数符号舍入和写入.

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

var x = 9.656;
x.toExponential(2);     // returns 9.66e+0
x.toExponential(4);     // returns 9.6560e+0
x.toExponential(6);     // returns 9.656000e+0

让我试试

参数可选。如果你不指定它,JavaScript舍入数字.


toFixed() 方法

toFixed() 返回一个字符串, 用数字表示一个指定的小数:

var x = 9.656;
x.toFixed(0);           // returns 10
x.toFixed(2);           // returns 9.66
x.toFixed(4);           // returns 9.6560
x.toFixed(6);           // returns 9.656000

让我试试

toFixed(2) 更适合使用在货币计量上.

toPrecision() 方法

toPrecision() 返回具有指定长度的数字的字符串:

var x = 9.656;
x.toPrecision();        // returns 9.656
x.toPrecision(2);       // returns 9.7
x.toPrecision(4);       // returns 9.656
x.toPrecision(6);       // returns 9.65600

让我试试


valueOf() 方法

valueOf() 将返回数字的值.

var x = 123;
x.valueOf();            // returns 123 from variable x
(123).valueOf();        // returns 123 from literal 123
(100 + 23).valueOf();   // returns 123 from expression 100 + 23

让我试试

在JavaScript中,一个数可以是原始值 (typeof = number) 或者一个对象(typeof = object).

valueOf() 方法是在内部使用JavaScript将数字对象转换为原始值.

没有理由在你的代码中使用它.

所有的JavaScript数据类型有valueOf()和toString()方法.


变量转换为数字

有3个JavaScript方法,可以用来转换变量为数字:

  • Number() 方法
  • parseInt() 方法
  • parseFloat() 方法

这些方法不是数字方法,而是全局JavaScript方法.


全局方法

JavaScript的全局方法可用于所有的JavaScript的数据类型.

这些都是和数字一起使用的相关方法:

方法 描述
Number() 从它的参数转换为一个数字.
parseFloat() 分析其参数并返回一个浮点数
parseInt() 分析其参数并返回一个整数

Number() 方法

Number() 可以将JavaScript变量转换为数字:

x = true;
Number(x);        // returns 1
x = false;     
Number(x);        // returns 0
x = new Date();
Number(x);        // returns 1404568027739
x = "10"
Number(x);        // returns 10
x = "10 20"
Number(x);        // returns NaN

让我试试

用在 Date()上, Number() 方法返回自1970.1.1的毫秒数.


parseInt() 方法

parseInt() 转换一个字符串并返回整个数字. 允许有空格. 只返回第一个数字:

parseInt("10");         // returns 10
parseInt("10.33");      // returns 10
parseInt("10 20 30");   // returns 10
parseInt("10 years");   // returns 10
parseInt("years 10");   // returns NaN

让我试试

如果数字不能转换, 返回 NaN (Not a Number).


数字属性

属性 描述
MAX_VALUE 返回最大数字
MIN_VALUE 返回最小数字
NEGATIVE_INFINITY 描述正无穷大(当溢出时返回)
NaN 表示一个 "Not-a-Number" 值
POSITIVE_INFINITY 表示无穷大(当溢出时返回)
var x = Number.MAX_VALUE;

让我试试

数字属性属于被称为数字对象封装类的Number.

这些属性只能访问Number.max_value

使用 myNumber.MAX_VALUE, 这里myNumber可以是一个变量,表达式,或一个值,将返回 undefined:

var x = 6;
var y = x.MAX_VALUE;    // y becomes undefined

让我试试


完整的JavaScript数字参考

一个完整的参考, 请访问我们的完整 JavaScript Number 参考.

参考包含所有数字属性和方法的说明和示例.