Number数字类型
1、Number
对象由 Number()
构造器创建。
JavaScript的Number
类型为双精度IEEE 754 64位浮点类型。最近出了stage3BigInt
任意精度数字类型,已经进入stage3规范。
2、关于Number对象和Number字面量的区别:
new Number(value);
var a = new Number('123'); // a === 123 is false
var b = Number('123'); // b === 123 is true
a instanceof Number; // is true
b instanceof Number; // is false
3、Number()方法
可以将参数转为数字,如果参数无法被转换为数字,则返回 NaN
。
console.log(Number("3.14")) //3.14
console.log(Number(true)) //1
console.log(Number("")) //0
console.log(Number(null)) //0
console.log(Number([])) //0
Number('0x11') // 17
Number('0b11') // 3
Number('0o11') // 9
console.log(Number(undefined)) //NaN
console.log(Number("3.14a")) //NaN
console.log(Number({})) //NaN
相关方法:
(1)valueOf()
返回一个 Number 对象的基本数字值。
var num = new Number(123);
console.log(num, num.valueOf());
(2)toString()
2 ~ 36 之间的整数,省略该参数,则使用基数 10
指定数字转换为指定进制的数字字符串。
console.log((3).toString(2));//"11"
(3)tofixed()
规定数字保留几位小数,参数介于 0 到 20 (包括)之间,不传参数时为0,默认保留整数,该数值在必要时进行四舍五入,另外在必要时会用 0 来填充小数部分,以便小数部分有指定的位数。
浮点数不能精确地用二进制表示所有小数。这可能会导致意外的结果,例如 0.1 + 0.2 === 0.3
返回 false
.
0.55 1.55 2.55 3.55 4.55等,实际存储的值要小一点。
console.log((3.245).toFixed(2));//3.25
console.log((3).toFixed(2)