导读 小伙伴们在使用 JavaScript 的 `toFixed()` 方法时,有没有遇到这样的问题?明明想保留两位小数进行四舍五入,结果却发现数值有些“调...
小伙伴们在使用 JavaScript 的 `toFixed()` 方法时,有没有遇到这样的问题?明明想保留两位小数进行四舍五入,结果却发现数值有些“调皮”,比如 `2.555.toFixed(2)` 返回了 `2.55` 而不是 `2.56`!😱 为什么会出现这种偏差?其实这和浮点数精度有关,JavaScript 在处理小数时可能会出现细微误差。
那么如何优雅地解决呢?👇
方法一:乘以 100 再取整
通过将数字先乘以 100,再用 `Math.round()` 进行四舍五入,最后除以 100,就能得到精准的结果!
```javascript
let num = 2.555;
let result = Math.round(num 100) / 100; // 输出 2.56
```
方法二:使用 BigNumber.js 库
如果项目中有大量涉及高精度计算的需求,可以引入 `BigNumber.js`,它能完美解决浮点数精度问题!✨
无论是 Vue 还是其他框架,都可以轻松适配!💪 记住这些小技巧,让你的代码更稳定、更高效!💡