# 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:

ValueMeaning
0if `f1` is numerically equal to `f2`;
less than 0if `f1` is numerically less than `f2`;
greater than 0if `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:

Home » Java Tutorial » Primitive Data Types