public class floatcmp {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
double num1=3*.3333333333;
double num2=0.99999992857;
//比较两个浮点数
if(num1==num2){
System.out.println(num1+"=="+num2);}
else if(equals(num1,num2,0.0000001)){
System.out.println("两个数相比较误差是"+0.0000001);
}
else{System.out.println(num1+"!="+num2);}
}
private static boolean equals(double num1, double num2, double d) {
// TODO Auto-generated method stub
return Math.abs(num1-num2)<d;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
double num1=3*.3333333333;
double num2=0.99999992857;
//比较两个浮点数
if(num1==num2){
System.out.println(num1+"=="+num2);}
else if(equals(num1,num2,0.0000001)){
System.out.println("两个数相比较误差是"+0.0000001);
}
else{System.out.println(num1+"!="+num2);}
}
private static boolean equals(double num1, double num2, double d) {
// TODO Auto-generated method stub
return Math.abs(num1-num2)<d;
}
输出结果:
两个数相比较误差是1.0E-7