JavaScript Number toFixed()、toExponential、toPrecision方法

toFixed()

numObj.toFixed(digits)方法可把 Number 四舍五入为指定小数位数的数字。

digits
小数点后数字的个数;介于 0 到 20 (包括)之间,实现环境可能支持更大范围。如果忽略该参数,则默认为 0。
返回值
使用定点表示法表示给定数字的字符串。
NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。

//当调用该方法的对象不是 Number 时抛出 TypeError 异常。
11.toFixed() //Uncaught SyntaxError: Invalid or unexpected token
//我们将把数字舍入为仅有一位小数的数字
var num = new Number(13.37);
num.toFixed(1) //13.4

toExponential() 方法

numObj.toExponential(fractionDigits)方法可把对象的值转换成指数计数法。

fractionDigits。规定指数计数法中的小数位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将使用尽可能多的数字。 |

返回 NumberObject 的字符串表示,采用指数计数法,即小数点之前有一位数字,小数点之后有 num 位数字。该数字的小数部分将被舍入,必要时用 0 补足,以便它达到指定的长度。
一个用幂的形式 (科学记数法) 来表示Number 对象的字符串。小数点后以fractionDigits 提供的值来四舍五入。如果 fractionDigits 参数被忽略了,小数点后的将尽可能用最多的位数来表示该数值。

对数值字面量使用 toExponential() 方法,且该数值没有小数点和指数时,应该在该数值与该方法之间隔开一个空格,以避免点号被解释为一个小数点。也可以使用两个点号调用该方法。

如果一个数值的小数位数多余 fractionDigits 参数所提供的,则该数值将会在 fractionDigits 指定的小数位数处四舍五入。可以查看 toFixed() 方法描述中关于四舍五入的讨论,同样应用于 toExponential()方法。

当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。

当调用该方法的对象不是 Number 时抛出 TypeError 异常。

在本例中,我们将把一个数字转换为指数计数法:

var num = new Number(10000);
num.toExponential(1) //1.0e+4

toPrecision() 方法

numObj.toPrecision(precision)方法可在对象的值超出指定位数时将其转换为指数计数法。

precision。规定必须被转换为指数计数法的最小位数。该参数是 1 ~ 21 之间(且包括 1 和 21)的值。有效实现允许有选择地支持更大或更小的 num。如果省略了该参数,则调用方法 toString(),而不是把数字转换成十进制的值。 |

返回 NumberObject 的字符串表示,包含 num 个有效数字。如果 num 足够大,能够包括 NumberObject 整数部分的所有数字,那么返回的字符串将采用定点计数法。否则,采用指数计数法,即小数点前有一位数字,小数点后有 num-1 位数字。必要时,该数字会被舍入或用 0 补足。

当 num 太小或太大时抛出异常 RangeError。1 ~ 21 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。

当调用该方法的对象不是 Number 时抛出 TypeError 异常。

在本例中,我们将把一个数字转换为指数计数法:

var num = new Number(10000);
num.toPrecision(4) //1.000e+4
num.toPrecision(2) //1.0e+4


你可能感兴趣的:(JavaScript Number toFixed()、toExponential、toPrecision方法)