🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 1. 数字类型 - 双精度格式的浮点数 如何理解双精度 对于无限不循环小数,有单精度、双精度、半精度 * 双精度 **数字范围 和 大小**比单精度要大 * 每个数字占用64位,单精度格式占用32位,半精度占用16位 * 双精度 1位用于指示数字为正数还是负数,指数保留11位, 剩下的52位是有效数字,表示范围 ## 2. toFixed 指定小数部分的显示位数,返回是**字符串**形式 ``` var b = 42.59 b.toFixed(1) // "42.6" ``` ## 3. toPrecision 指定小数部分的显示位数,返回是**字符串**形式, 不够就补0 ## 4 精度丢失的问题 0.1 + 0.2 !== 0.3 解决办法:**Number.EPSILON 误差范围值** ``` Math.abs(0.3 - (0.1+0.2)) < Number.EPSILON ``` ## 5. 检测是否为整数 ``` Number.isInteger(22) // true 22 % 1 // true ``` ## 6. NaN ``` NaN !== NaN // true ``` ### window.isNaN() 只检查参数是不是 NaN,不检查是不是数字类型 ``` window.isNaN('foo') // true ``` ### Number.isNaN() 原理是 :`typeof n === 'number' && window.isNaN(n) ` ``` Number.isNaN(NaN) // true Number.isNaN('foo') // false ```