凌晨四点的打铁声
2021-09-26 10:52
采纳率: 60%
浏览 38
已结题

微信支付生成二维码,为什么要.multiply(new BigDecimal("100")).longValue()+"");

img


微信支付生成二维码,为什么要.multiply(new BigDecimal("100")).longValue()+"")?
看我红色框框中,为什么要这样处理

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 饶小乖 2021-09-26 11:20
    已采纳
    1. 我猜测,total_fee在接口中定义的单位是分,数据库 保存的是元,所以原始值要乘以100, 使用BigDecimal是为了精确;
    2. 两位小数乘以100,结果会保留两位小数,直接toString 得到的值 xxxxx.00.取longValue是保证不带小数点
    评论
    解决 2 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题