Number
- Number :表示整数和浮点数
- NaN :即非数值( Not a Number )是一个特殊的数值
面试常考!
说明:
- 任何涉及NaN的操作(例如NaN/10 )都会返回NaN。
- NaN与任何值都==不相等==,包括NaN本身。
- 如果typeof一个NaN,你会在F12中看到number,因为==NaN是特殊的number==
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 异常。
toPrecision() 方法指定数字总长度
toPrecision()
方法可在Number对象的值超出参数指定的位数时将其有效长度转换为指数计数法(科学记数法)。(把Number对象的值格式化为参数指定的长度,注意是总位数不是小数位数)- 语法:
NumberObject.toPrecision(num)
- 参数num:必需。规定必须被转换为指数计数法的最小位数。该参数是 1 ~ 21 之间(且包括 1 和 21)的值。有效实现允许有选择地支持更大或更小的 num。如果省略了该参数,则调用方法
toString()
,而不是把数字转换成十进制的值。 - 返回值:
- 返回 NumberObject 的字符串表示,包含 num 个有效数字。
- 参数 num >= NumberObject 整数部分的所有数字时返回的字符串将采用定点计数法。
- 否则,采用指数计数法(科学记数法),即小数点前有一位数字,小数点后有 num-1 位数字。必要时,该数字会被舍入或用 0 补足。
- 抛出异常:
当 num 太小或太大时抛出异常 RangeError。1 ~ 21 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
- 参数规定的有效数字的位数是从数字第一个不为0的数(包括整数部分和小数部分)开始计算的位数。
- 在指数记数法(科学记数法)中,E是指数的意思,在java中e代表10的幂次,
5.62e+5
=5.62*10^5
; 同样的,5.62e-5
=5.62*10^(-5)
例子:
1 | //toPrecision()会进行四舍五入 |
区别toFixed() 方法
和toPrecision() 方法
- 两者都是返回字符串形式的数字。
toFixed() 方法
没有触发要求,参数直接规定小数位数,不采用科学记数法。(0 <= 参数 <= 20)toPrecision() 方法
由参数规定整个数字的总位数。(1 <= 参数 <= 21)**
当 参数 >= Number对象的值的整数位数** 时采用定点记数法(也就是小数点)(比如:参数为1时,0.8
=0.8
)。
否则采用科学记数法(比如:参数为3时,562345.12456
=5.62*10^5
=5.62e+5
)