1、Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。
2、一般在支付中,对金额的处理会用到BigDecimal。
3、实际开发中出现的问题:
● BigDecimal传入的参数如果是Double类型,则会损失精度,如果传入的是字符串类型,则不会
● 从数据库中取出的金额是0.02,页面传入的金额是double类型,也是0.02,但是传入BigDecimal中,两个值就不相等,
这就是由于double类型损失精度引起的
● BigDecimal传入的参数如果是Double类型,则会损失精度,如果传入的是字符串类型,则不会
● 从数据库中取出的金额是0.02,页面传入的金额是double类型,也是0.02,但是传入BigDecimal中,两个值就不相等,
这就是由于double类型损失精度引起的
本文标题:BigDecimal引发的问题
本文链接:https://www.haomeiwen.com/subject/fwzqlftx.html
网友评论