教程
了解
- JavaScript 只有一种数字类型。即能表示整数,也能表示小数。
JavaScript 不是类型语言。与许多其他编程语言不同,JavaScript 不定义不同类型的数字,比如整数、短、长、浮点等等。
JavaScript 中的所有数字都存储为根为 10 的 64 位(8 比特),浮点数。 - 整数(不使用小数点或指数计数法)最多为 15 位。
- 小数的最大位数是 17,但是浮点运算并不总是 100% 准确:
0.2 + 0.1 = 0.30000000000000004
- 0除以0得到NaN,比0大的数除以0得Infinity(无穷大)
任何数值除以0都会导致错误而终止程序执行。但是在 JavaScript 中,会返回出特殊的值,因此不会影响程序的执行。
数字表示
var pi=3.14; // 使用小数点
var x=34; // 不使用小数点
// 科学(指数)计数法
var y=123e5; // 12300000
var z=123e-5; // 0.00123
// 八进制(前缀为0)
var y=0377;
// 十六进制(前缀0x)
var z=0xFF;
数字属性和方法
注意
四舍五入:用 NumberObject.tofixed() 还是 Math.round()?
NumberObject.toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
四舍五入的规则与数学中的规则不同,使用的是银行家舍入规则,银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。具体规则如下:
简单来说就是:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。
// 验证
Number(1.54).toFixed(1); -- 1.5
Number(1.56).toFixed(1); -- 1.6
Number(1.450).toFixed(1); -- 1.4(注意这里)
Number(1.550).toFixed(1); -- 1.5
Number(1.451).toFixed(1); -- 1.5
Number(1.551).toFixed(1); -- 1.6
Math.round() 方法可把一个数字舍入为最接近的整数。
四舍五入的规则与数学中的规则相同。
不过由于 Math.round() 返回的是整数,所以对小数处理时要变通一下,如对于X进行保留两位小数的处理,则可以使用Math.round(X * 100) / 100.进行处理。