Compare two float value
In this chapter you will learn:
Compare two float objects
We have three ways to compare float values:
static int compare(float f1, float f2)
compares the two specified float values.int compareTo(Float anotherFloat)
compares two Float objects numerically.boolean equals(Object obj)
compares this object against the specified object.
static int compare(float f1, float f2) compares the two specified float values. It returns:
Value | Meaning |
---|---|
0 | if f1 is numerically equal to f2 ; |
less than 0 | if f1 is numerically less than f2 ; |
greater than 0 | if f1 is numerically greater than f2 . |
The code below uses the compareTo(Float anotherFloat)
method to compare
two Float
objects.
public class Main {
public static void main(String[] args) {
Float floatObject1 = new Float("10.0001");
Float floatObject2 = new Float("10.0002");
//from j a va 2 s . c om
System.out.println(Float.compare(floatObject1,floatObject2));
}
}
The output:
Compare float value to a NaN(Not a Number)
The following code create a NaN(Not a Number) float value by dividing 0, and then compare it with another float value:
public class Main {
public static void main(String[] args) {
Float floatObject1 = new Float("10.0001");
//from ja va 2 s . co m
Float floatObject2 = Float.valueOf((float)0.0/(float)(0.0));
System.out.println(floatObject2);
System.out.println(Float.compare(floatObject1,floatObject2));
}
}
The output:
int compareTo(Float anotherFloat)
compares two Float objects numerically.
Float.NaN is considered to be equal to itself and greater than all other float values including Float.POSITIVE_INFINITY.
0.0f is considered by this method to be greater than -0.0f.
int compareTo(Float anotherFloat)
returns:
0
if anotherFloat is numerically equal to this Float;less than 0
if this Float is numerically less than anotherFloat;greater than 0
if this Float is numerically greater than anotherFloat.
The following code illustrates how to create NaN
in float and compares to another float
type value.
public class Main {
public static void main(String[] args) {
Float floatObject1 = new Float("10.0001");
// j a va 2 s. c o m
Float floatObject2 = Float.valueOf((float)0.0/(float)(0.0));
System.out.println(floatObject2);
System.out.println(floatObject1.compareTo(floatObject2));
}
}
The output:
Next chapter...
What you will learn in the next chapter: