在项目中,处理关于价格字段时,发现有精度丢失问题。

eg  var price = 734000; //价格

  var money = price * 0.7 = 513799.99999999994 //贷款金额

 

解决方案:

 

对于整数,前端出现问题的几率可能比较低,毕竟很少有业务需要需要用到超大整数,只要运算结果不超过 Math.pow(2, 53) 就不会丢失精度。

对于小数,前端出现问题的几率还是很多的,尤其在一些电商网站涉及到金额等数据。解决方式:把小数放到位整数(乘倍数),再缩小回原来倍数(除倍数)

 734000 * (0.7 *10)/ 10 = 513800;

 

 

 

 

 

 

 

  

 

相关文章:

  • 2021-12-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-18
  • 2021-12-18
猜你喜欢
  • 2021-06-04
  • 2021-08-06
  • 2022-12-23
  • 2021-06-08
  • 2022-12-23
  • 2021-06-14
  • 2021-10-09
相关资源
相似解决方案