项目场景:
我们在开发项目时,经常会用到 js 来结算数据,特别是像一些商品;
问题描述:
在项目开发中,后台会返给我们商品单价和数量,让我们前端来计算总价,假如数据都是整数,一般不会出现什么问题,但有涉及到小数的话,就会出现总价不准确,俗称 js 浮点运算不准确
原因分析:
计算机里每种数据类型的存储是一个有限宽度,比如 JavaScript 使用 64 位存储数字类型,因此超出的会舍去。舍去的部分就是精度丢失的部分。
解决方案:
解决方法也比较简单,就是把小数转换为整数再去做计算,这样得出的结果就不会有问题