我有一个代码,我在其中将float与==运算符
进行比较String sFloat = "0.0";
float n = Float.parseFloat(sFloat);
System.out.println("n--"+n);
if(n == 0){
System.out.println("inside if");
}
else{
System.out.println("inside else");
}
以上方式是比较浮动的权利,否则在其他情况下会失败。比如.equals或任何其他方法。
float是一个原始变量而不是Float
我不想使用包装器Float。我只想要原始的比较
答案 0 :(得分:2)
原始变量与==运算符而不是equals()方法进行比较,因为它仅用于引用类型变量。
答案 1 :(得分:1)
float f1 = 22.30f;
float f2 = 88.67f;
int retval = Float.compare(f1, f2);
if(retval > 0) {
System.out.println("f1 is greater than f2");
}
else if(retval < 0) {
System.out.println("f1 is less than f2");
}
else {
System.out.println("f1 is equal to f2");
}
这将是比较浮动值的最佳方式。
答案 2 :(得分:1)
正如您所说,float是一个原始的变量,因此使用==运算符来比较浮点数是安全的。 另外,使用Float(float类型的类包装器),你应该使用equals()方法提供程序。