您的位置:首页 > 移动开发 > Android开发

Android下两个double类型相加的问题

2017-05-09 13:25 579 查看

两个小数相加,计算结果是好多位小数点

之前没有注意过,也不知道两个double类型相加有这个问题
是在做购物车的时候,两个商品的价格相加之后,对应不上,而且会有好多小数点
double a = 88.2;
double b = 0.01;
double c = a+b;
结果c=88.21000000000001
一直以为自己是在哪里写错了,终无果。
最后上网一查才知道,原来是因为精度问题
解决这个问题,就是四舍五入保留两位小数点
网上大概有四种解决方法,我都试过,其它三种都不太好用,最后用了下面这种方法

double a = 88.2;
double b = 0.01;
double c = a+b;
BigDecimal   bd   =   new   BigDecimal(c);
double   d   =   bd.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(d);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: