浮点数精度问题

mac2022-06-30  114

今天在sentry报告了一个诡异的错误

具体就是ping++回调的金额与订单金额不一致.

查看数据时发现订单中金额为532.8而ping++中金额为53279,wtf,为什么会少一分钱呢

  于是尝试 输出 532.8 * 100 (ps: 因为ping++支付金额单位为分) 结果 53280.0  but 一旦转为整形就为 53279 诡异的精度丢失    

  解决办法 对 ceil(532.8 * 100 ) 将精度调准后 再转为整形进不会有精度丢失了

 

转载于:https://www.cnblogs.com/nephyzw/p/11116569.html

最新回复(0)