首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

Java里面double数据+double数据的奇怪现象,求解释解决方案

2012-03-07 
Java里面double数据+double数据的奇怪现象,求解释publicclassTest{publicstaticvoidmain(String[]args){do

Java里面double数据+double数据的奇怪现象,求解释
public   class   Test{

public   static   void   main(String[]   args)
{
double   i=2.5;
double   j=3.4;
for   (int   k=1;   k <9;   k++)
{
System.out.println(i);
i=i+j;
}
}
}

大家运行一下,为什么会得到那么奇怪的结果呢??

[解决办法]
java里面对于double型的运算,有时是会出现误差的,其实是因为计算机里都是通过二进制进行运算的,所以出现这种误差也是在所难免,在java里面为了解决问题,可以利用BigDecimal类来解决,其实你也可以通过移动小数点先转化成整型,然后再计算,最后将结果相应的移动小数点,这样也是一种解决方法
[解决办法]
这个是正常的,浮点运算就是这样的。


对财务之类的精确度要求高的使用BigDecimal。

热点排行