[Java] float, double 비교구현 차이(compare)

devdo·2022년 2월 15일
0

Java

목록 보기
11/56
post-thumbnail

float 나 double은 비교시 compare() 메서드를 사용한다.

이진 부동 소수점 산술에서는 정확한 값을 보장하기 어렵기 때문이다.

compare(a, b)는 a와 b의 값이 같으면 0을 반환하고, a가 b보다 크면 양수를 반환하고, a가 b보다 작으면 음수를 반환한다.

사용 예시

Float.compare

        float f1 = 123.45676f;
        float f2 = 123.45679f;

        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");
        }

Double.compare

        double d1 = 123.456755684654657;
        double d2 = 123.456755684654656;
        
        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");
        }
profile
배운 것을 기록합니다.

0개의 댓글