2 baidu 33488327 baidu_33488327 于 2016.02.05 16:43 提问

BigDecimal类加法问题

一个整图片说明型和一个浮点型相加后小数点后面多出了一串不为零的数字,怎么解?完全颠覆了我的世界观啊!

3个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.02.05 16:54

看不清楚啊,贴代码不行吗?但是这个数值类有精度问题。

baidu_33488327
baidu_33488327 BigDecimal m=new BigDecimal("888888888888"); BigDecimal s=new BigDecimal(89.23); System.out.println(m.add(s));//代码类似于这样,它输出的结果在加完后 小数点两位以后又出现了不为零的数字
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.02.05 22:58

很正常,因为浮点数有精度误差和进制转换误差。你可以对结果四舍五入下。

baidu_33488327
baidu_33488327 不懂?能详细解释一下吗
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.02.05 17:16

要么把代码贴出来吧。图片看不清。

baidu_33488327
baidu_33488327 BigDecimal m=new BigDecimal("888888888888"); BigDecimal s=new BigDecimal(89.23); System.out.println(m.add(s));//代码类似于这样,它输出的结果在加完后 小数点两位以后又出现了不为零的数字
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!