JAVA高手进来看

来源:百度知道 编辑:UC知道 时间:2024/06/13 22:50:21
double data1=5.1;
double data2=3.1;
double result;
result=data1-data2;
System.out.println("The result is "+result);
结果==1.9999999999996

能有什么办法让他显示2.0
不要引入Math类

1 建议你在System.out.println("The result is "+result);
之前

System.out.println("The data1 is "+data1);
System.out.println("The data2 is "+data2);
你就会发现问题了。
你试试
2 方法:
int intre=(int)result;
System.out.println("The intre is "+intre);
你试试

double data1=5.101d;
double data2=3.101d;
多加两位去就可以了
这个问题!是jdk的 bug

double data1=5.1;
double data2=3.1;
double result;
result=(data1-data2).toFixed(0);
System.out.println("The result is "+result);

最简单的方法就是将double 类型转换成整型/
代码:
public class Hello{
public Hello()
{}
public static void main(String [] args){
double a=5.1;
double b=3.1;
double result;
result=(int)a-(int)b;

System.out.println(" "+result);
}
}

JAVA里面精度处理的问题。。

float result=(float) (a-b);