JavaScript toFixed()、toExponential、toPrecision方法
JavaScript toFixed()
定义和用法
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
语法
NumberObject.toFixed(num)
参数 | 描述 |
---|---|
num | 必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。 |
返回值
返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。
抛出
当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
实例
在本例中,我们将把数字舍入为仅有一位小数的数字:
Show the number 13.37 with one decimal: <script type="text/javascript"> var num = new Number(13.37); document.write (num.toFixed(1)) </script>
输出:
Show the number 13.37 with one decimal: 13.4
TIY
- toFixed()
- 如何使用 toFixed() 来舍入一个数字。
-
JavaScript toExponential() 方法
定义和用法
toExponential() 方法可把对象的值转换成指数计数法。
语法
NumberObject.toExponential(num)
参数 描述 num 必需。规定指数计数法中的小数位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将使用尽可能多的数字。 返回值
返回 NumberObject 的字符串表示,采用指数计数法,即小数点之前有一位数字,小数点之后有 num 位数字。该数字的小数部分将被舍入,必要时用 0 补足,以便它达到指定的长度。
抛出
当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
实例
在本例中,我们将把一个数字转换为指数计数法:
Show 10,000 as an exponential notation: <script type="text/javascript"> var num = new Number(10000); document.write (num.toExponential(1)) </script>
输出:
Show 10,000 as an exponential notation: 1.0e+4
TIY
- toExponential()
- 如何使用 toExponential() 来把数字转换为指数计数法。
-
JavaScript toPrecision() 方法
定义和用法
toPrecision() 方法可在对象的值超出指定位数时将其转换为指数计数法。
语法
NumberObject.toPrecision(num)
参数 描述 num 必需。规定必须被转换为指数计数法的最小位数。该参数是 1 ~ 21 之间(且包括 1 和 21)的值。有效实现允许有选择地支持更大或更小的 num。如果省略了该参数,则调用方法 toString(),而不是把数字转换成十进制的值。 返回值
返回 NumberObject 的字符串表示,包含 num 个有效数字。如果 num 足够大,能够包括 NumberObject 整数部分的所有数字,那么返回的字符串将采用定点计数法。否则,采用指数计数法,即小数点前有一位数字,小数点后有 num-1 位数字。必要时,该数字会被舍入或用 0 补足。
抛出
当 num 太小或太大时抛出异常 RangeError。1 ~ 21 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
实例
在本例中,我们将把一个数字转换为指数计数法:
Show 10,000 as an exponential notation: <script type="text/javascript"> var num = new Number(10000); document.write (num.toPrecision(4)) </script>
输出:
Show 10,000 as an exponential notation: 1.000e+4
TIY
- toPrecision()
- 如何使用 toPrecision() 来把数字转换为指数计数法。