企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## Number对象 Number对象是数值类型对应的包装对象(引用类型),可以作为构造函数使用,也可以作为工具函数使用。 * 作为构造函数,用于生成数值类型的对象 * 作为工具函数,可以把其他类型的数据转化为数值 > 但是Number()函数在将其他类型转化成数值类型时,有一些奇怪的规则,**所以我们时常用parseInt()代替**。 **关于parseInt注意两点** * 如果第一个字符不是数字字符或都负号,parseInt()就会返回NaN; 也就是说,用parseInt()转换空字符串会返回NaN。 * 如果第一个字符是数字字符,parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到了一个非数字字符。例如,"1234blue"会被转换为1234,因为"blue"会被完全忽略。类似地"22.5"会被转换为22,因为小数点不是有效的数字字符。 [Number()和parseInt()区别](https://www.cnblogs.com/hyuq/p/4131200.html) ~~~ var i = 10; console.log(typeof i); // number var ni = new Number(10); console.log(typeof ni); // object console.log(Number(true)); // 1 var inStr1 = "1 a"; var inStr2 = "2 b"; console.log(parseInt(inStr1) + parseInt(inStr2)); // 3 console.log(Number(inStr1) + Number(inStr2)); // NaN console.log(Number("12")); ~~~ ### 1.Number对象的属性 `Number.NaN`:表示非数值。 `Number.MAX_VALUE`:表示最大的正数。 `Number.MIN_VALUE`:表示最小的正数。 `Number.MAX_SAFE_INTEGER`:表示能够精确表示的最大整数。 `Number.MIN_SAFE_INTEGER` :表示能够精确表示的最小整数。 `Number.POSITIVE_INFINITY`:正的无限。 `Number.MEGATIVE_INFINITY`:负的无限。 ~~~javascript console.log(Number.NaN); // NaN console.log(Number.MAX_VALUE); // 1.7976931348623157e+308 console.log(Number.MIN_VALUE); // 5e-324 console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991 console.log(Number.MIN_SAFE_INTEGER); // -9007199254740991 console.log(Number.POSITIVE_INFINITY); // Infinity console.log(Number.NEGATIVE_INFINITY); // -Infinity ~~~ ### 2.Number对象的方法 `Number.toString()`:把数值类型转化为字符串 `Number.toPrecision()`:将数值转化为指定位数的有效数字 ~~~javascript var i = new Number(12.36); console.log(i.toPrecision(2)); // 12 console.log(i.toPrecision(3)); // 12.4 console.log(i.toPrecision(4)); // 12.36 console.log(i.toPrecision(5)); // 12.360 ~~~ `toPrecision方法用于四舍五入时会出现问题,跟浮点数不能精确的存储有关系。` `Number.toFixed()`:用于将一个数转化为指定位数的小数,返回这个小数对应的字符串 ~~~javascript var i = new Number(12.36); console.log(i.toFixed(1)); // 12.4 ~~~