先说下我遇到的问题:
App做调用微信充值功能,输入框明明输入的是0.57,但是调用微信支付的时候却成了0.56
一脸懵逼...
查原因:
拿到输入框中的内容, 转换成double类型后 乘以 100,通过log 发现 变成了 56.999999999
(计算过程中 计算机转化成二进制计算会产生一些失精)
然后强转成 int 类型就变成了 56,调用微信的时候api传参是要 单位为分的
问了主管用:
BigDecimal
封装了工具类:
package com.temiao.jiansport.utils;
import java.math.BigDecimal;
/**
* ==================================
* Created by 边江洲 on 2018/8/29.
* 作 者:WY_BJZ
* 创建时间:2018/8/29
* ==================================
*/