Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Math.Ceiling() 메서드 완벽 정리 – 소수점 올림 처리 방법과 실전 예제

C#에서 Math.Ceiling() 메서드는 지정된 숫자보다 크거나 같은 정수 중 가장 작은 값, 즉 소수점을 올림한 값을 반환하는 데 사용됩니다. 일반적인 반올림과 달리, 소수 부분이 아주 작더라도 항상 위쪽 정수로 올려준다는 점이 특징입니다.

문법(Syntax)

Math.Ceiling() 메서드는 다음과 같은 두 가지 오버로드 형태를 제공합니다.

public static decimal Ceiling(decimal val);
public static double Ceiling(double val);

첫 번째 문법에서 매개변수 valdecimal 타입의 숫자이며, 두 번째 문법에서는 double 타입의 숫자입니다. 반환 타입도 각각 decimal과 double로 대응되므로, 상황에 맞는 자료형을 선택하여 사용하면 됩니다.

예제 1: decimal 타입에 Math.Ceiling() 적용하기

먼저 decimal 값을 대상으로 Math.Ceiling() 메서드를 활용하는 예제를 살펴보겠습니다.

using System;

public class Demo {
    public static void Main() {
        decimal val1 = 9.99M;
        decimal val2 = -5.10M;
        Console.WriteLine("Result = " + Math.Ceiling(val1));
        Console.WriteLine("Result = " + Math.Ceiling(val2));
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Result = 10
Result = -5

9.99는 올림되어 10이 되고, 음수인 -5.10은 -5로 처리된 것에 주목하세요. Math.Ceiling()은 수직선 기준으로 오른쪽(큰 쪽) 방향의 가장 가까운 정수를 찾기 때문에, 음수에서도 절댓값이 커지는 것이 아니라 오히려 0에 가까워지는 방향으로 올림됩니다.

예제 2: double 타입에 Math.Ceiling() 적용하기

이번에는 double 타입의 여러 값을 대상으로 Math.Ceiling() 메서드의 동작을 확인해 보겠습니다.

using System;

public class Demo {
    public static void Main() {
        double val1 = 3.1;
        double val2 = 55.99;
        double val3 = -55.99;
        Console.WriteLine("Result = " + Math.Ceiling(val1));
        Console.WriteLine("Result = " + Math.Ceiling(val2));
        Console.WriteLine("Result = " + Math.Ceiling(val3));
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Result = 4
Result = 56
Result = -55

소수 부분이 얼마나 작든(3.1 → 4), 크든(55.99 → 56) 무조건 위쪽 정수로 올림되며, 음수(-55.99 → -55) 역시 큰 쪽 정수로 반환됨을 확인할 수 있습니다.

정리

Math.Ceiling() 메서드는 요금 계산, 페이지네이션, 재고 단위 계산 등 소수점 이하를 잘라 올려야 하는 상황에서 매우 유용하게 활용됩니다. 반올림을 수행하는 Math.Round(), 내림을 수행하는 Math.Floor()와 함께 비교해 가며 익혀두면 숫자 처리 로직을 더욱 정확하게 구현할 수 있습니다.