Java

[Java] Float, Double 크기 비교(compare)

Darane 2021. 8. 29. 20:14

Float나 Double 처럼 실수 자료형을 사용하다 보면 실수 값의 크기를 비교할 때가 있습니다.

그때 Float, Double 객체에서 제공해주는 Float.compare(), Double.compare() 함수를 사용해서 실수 값을 비교할 수 있습니다.

함수

public static int compare(float f1, float f2)

매개변수 (Parameters)

float f1 - 비교할 첫번째 float

float f2 - 비교할 두번째 float

반환값(Returns)

반환 값이 0 인경우 - f1과 f2가 같음

반환 값이 0보다 큰 경우 - f1이 f2보다 큼

반환 값이 0보다 작은 경우 - f1이 f2보다 작음

Float.compare() 함수의 사용법을 아래 예제를 통해 알아보겠습니다.

Float 예제

f1과 f2가 같음

float f1 = 123.456f;
float f2 = 123.456f;

if (Float.compare(f1, f2) == 0) {
    System.out.println("f1 == f2");

} else if (Float.compare(f1, f2) > 0) {
    System.out.println("f1 > f2");

} else {
    System.out.println("f1 < f2");

}

결과

f1 == f2

f1이 f2보다 큼

float f1 = 345.678f;
float f2 = 123.456f;

if (Float.compare(f1, f2) == 0) {
    System.out.println("f1 == f2");

} else if (Float.compare(f1, f2) > 0) {
    System.out.println("f1 > f2");

} else {
    System.out.println("f1 < f2");

}

결과

f1 > f2

f1이 f2보다 작음

float f1 = 123.456f;
float f2 = 345.678f;

if (Float.compare(f1, f2) == 0) {
    System.out.println("f1 == f2");

} else if (Float.compare(f1, f2) > 0) {
    System.out.println("f1 > f2");

} else {
    System.out.println("f1 < f2");

}

결과

f1 < f2

Double.compare() 함수의 사용법을 아래 예제를 통해 알아보겠습니다.

Double 예제

d1과 d2가 같음

double d1 = 123.456;
double d2 = 123.456;

if (Double.compare(d1, d2) == 0) {
    System.out.println("d1 == d2");

} else if (Double.compare(d1, d2) > 0) {
    System.out.println("d1 > d2");

} else {
    System.out.println("d1 < d2");

}

결과

d1 == d2

d1이 d2보다 큼

double d1 = 345.678;
double d2 = 123.456;

if (Double.compare(d1, d2) == 0) {
    System.out.println("d1 == d2");

} else if (Double.compare(d1, d2) > 0) {
    System.out.println("d1 > d2");

} else {
    System.out.println("d1 < d2");

}

결과

d1 > d2

d1이 d2보다 작음

double d1 = 123.456;
double d2 = 345.678;

if (Double.compare(d1, d2) == 0) {
    System.out.println("d1 == d2");

} else if (Double.compare(d1, d2) > 0) {
    System.out.println("d1 > d2");

} else {
    System.out.println("d1 < d2");

}

결과

d1 < d2
반응형