2.46+0.03 =
看到这种情况,脑子马上浮现一个解决方案
使用tofixed函数保留两位小数并四舍五入。但... 网上的观点认为不够严谨,因为JavaScript会出现精度丢失,是因为小数转化为二进制是无限长的,但计算机没法保存无限长的数值,所以会做截取,这就导致了精度缺失的原因。
所以推荐将小数提升至整数做计算,之后在将结果还原成小数状态即可。
2.46+0.03 =
看到这种情况,脑子马上浮现一个解决方案
使用tofixed函数保留两位小数并四舍五入。但... 网上的观点认为不够严谨,因为JavaScript会出现精度丢失,是因为小数转化为二进制是无限长的,但计算机没法保存无限长的数值,所以会做截取,这就导致了精度缺失的原因。
所以推荐将小数提升至整数做计算,之后在将结果还原成小数状态即可。