Number.prototype.toFixed()

toFixed() 方法使用定点表示法来格式化一个数值。

语法

numObj.toFixed(digits)

参数

digits
小数点后数字的个数;介于 0 到 20 (包括)之间,实现环境可能支持更大范围。如果忽略该参数,则默认为 0。

返回值

使用定点表示法表示给定数字的字符串。

抛出异常

RangeError
如果 digits 参数太小或太大。0 到 20(包括)之间的值不会引起 RangeError。实现环境(implementations)也可以支持更大或更小的值。
TypeError
如果该方法在一个非Number类型的对象上调用。

描述

一个数值的字符串表现形式,不使用指数记数法,而是在小数点后有 digits(注:digits具体值取决于传入参数)位数字。该数值在必要时进行四舍五入,另外在必要时会用 0 来填充小数部分,以便小数部分有指定的位数。 如果数值大于 1e+21,该方法会简单调用 Number.prototype.toString()并返回一个指数记数法格式的字符串。

Warning: 浮点数不能精确地用二进制表示所有小数。这可能会导致意外的结果,例如 0.1 + 0.2 === 0.3 返回 false .

示例

使用 toFixed

var numObj = 12345.6789;

numObj.toFixed();         // 返回 "12346":进行四舍六入五看情况,不包括小数部分
numObj.toFixed(1);        // 返回 "12345.7":进行四舍六入五看情况

numObj.toFixed(6);        // 返回 "12345.678900":用0填充

(1.23e+20).toFixed(2);    // 返回 "123000000000000000000.00"

(1.23e-10).toFixed(2);    // 返回 "0.00"

2.34.toFixed(1);          // 返回 "2.3"

2.35.toFixed(1)           // 返回 '2.4'. Note it rounds up

2.55.toFixed(1)           // 返回 '2.5'. Note it rounds down - see warning above

-2.34.toFixed(1);         // 返回 -2.3 (由于操作符优先级,负数不会返回字符串)

(-2.34).toFixed(1);       // 返回 "-2.3" (若用括号提高优先级,则返回字符串)

规范

Specification Status Comment
ECMAScript 3rd Edition (ECMA-262) Standard Initial definition. Implemented in JavaScript 1.5.
ECMAScript 5.1 (ECMA-262)
Number.prototype.toFixed
Standard
ECMAScript 2015 (6th Edition, ECMA-262)
Number.prototype.toFixed
Standard

浏览器兼容性

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
toFixedChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 5.5Opera Full support 7Safari Full support 2WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100

Legend

Full support  
Full support

相关链接