java 算乘法时得数不精确
比如算6.9*7时,应该得48.3,但是显示的是48.300000000000004,为什么呢??...
比如算6.9*7时,应该得48.3,但是显示的是48.300000000000004,为什么呢??
展开
展开全部
java 要精确运算要用到 java.math.BigDecimal
bigDecimal 是个辅助计算了 能做到精确的小数位。 一般用它的 string 构
造函数。。一般钱数运算和精确运算都用它。。
例子:
BigDecimal a=new BigDecimal("6.9");
BigDecimal b=new BigDecimal("7");
System.out.println(a.multiply(b));
还有精确小数 四舍五入 比较大小等.....
楼主可以自己写个辅助精确计算的类~
bigDecimal 是个辅助计算了 能做到精确的小数位。 一般用它的 string 构
造函数。。一般钱数运算和精确运算都用它。。
例子:
BigDecimal a=new BigDecimal("6.9");
BigDecimal b=new BigDecimal("7");
System.out.println(a.multiply(b));
还有精确小数 四舍五入 比较大小等.....
楼主可以自己写个辅助精确计算的类~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的代码最好贴出来。
应该是你设定小数点后面多少位决定的。你用
double int = 6.9*7;的话 就是48.3了。你贴代码给我看看,我在线,。
应该是你设定小数点后面多少位决定的。你用
double int = 6.9*7;的话 就是48.3了。你贴代码给我看看,我在线,。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用别的数据类型
BigDecimal
BigDecimal
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把结果转型单精度类型(float)试试呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询