侧边栏壁纸
博主头像
惊羽博主等级

hi ,我是惊羽,前生物学逃兵,现系统工程沉迷者 . 贝壳签约工程师 , 曾被雇佣为 联拓数科 · 支付研发工程师 、京东 · 京东数科 · 研发工程师、中国移动 · 雄安产业研究院 · 业务中台技术负责人 .

  • 累计撰写 100 篇文章
  • 累计创建 14 个标签
  • 累计收到 9 条评论

事故复盘(1) - Integer用于金额计算的坑

惊羽
2021-12-17 / 0 评论 / 0 点赞 / 238 阅读 / 179 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-12-17,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Integer在使用数量计算时,如果数值过大,会引起越界问题,如图 :
30bdde46122b7821c7519b89cc72992.png
在进行金额计算时,一定要全部使用BigDecimal,否则可能会出现计算金额与实际金额不一致的情况

因为使用了Integer进行计算,导致超过21亿(2147483647)以上的金额出现负数,或者可能会出现与原金额不一样的正数,导致支付金额与原指令的交易金额发生差异,出现错账,是很大的教训.

0
广告 广告

评论区