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

C# MathF.Ceiling() 메서드 완벽 정리 – 예제로 배우는 올림 처리

MathF.Ceiling() 메서드란?

C#의 MathF.Ceiling() 메서드는 인수로 전달된 float(부동 소수점) 값보다 크거나 같은 정수 중에서 가장 작은 값을 반환합니다. 쉽게 말해, 소수점 이하를 무조건 올림 처리하는 메서드라고 할 수 있습니다.

구문

MathF.Ceiling() 메서드의 기본 구문은 다음과 같습니다.

public static float Ceiling(float val);

여기서 val은 올림 처리할 부동 소수점 값입니다. 반환 타입 역시 float이므로, 정수형 변수에 담으려면 별도의 형 변환이 필요합니다.

예제 1 – 기본 사용법

다음 예제를 통해 MathF.Ceiling() 메서드의 기본적인 동작 방식을 살펴보겠습니다.

using System;
class Demo {
   public static void Main(){
      float val1 = 12.67f;
      float val2 = 30.13f;
      Console.WriteLine("Ceiling (value1) = "+MathF.Ceiling(val1));
      Console.WriteLine("Ceiling (value2) = "+MathF.Ceiling(val2));
   }
}

출력 결과

Ceiling (value1) = 13
Ceiling (value2) = 31

12.67은 올림되어 13이 되고, 30.13은 소수 부분이 0.13으로 아무리 작아도 올림되어 31이 됩니다. 즉, 소수점 이하 값의 크기와 관계없이 항상 위쪽 정수로 반올림됩니다.

예제 2 – 음수 값 처리

이번에는 양수와 음수가 함께 사용된 경우를 살펴보겠습니다.

using System;
class Demo {
   public static void Main(){
      float val1 = 01.11f;
      float val2 = -30.99f;
      Console.WriteLine("Ceiling (value1) = "+MathF.Ceiling(val1));
      Console.WriteLine("Ceiling (value2) = "+MathF.Ceiling(val2));
   }
}

출력 결과

Ceiling (value1) = 2
Ceiling (value2) = -30

주목할 점은 음수 처리 방식입니다. -30.99의 천장값(ceiling)은 -31이 아니라 -30입니다. 수직선상에서 -30.99보다 크거나 같은 정수 중 가장 작은 값이 -30이기 때문입니다. 이처럼 MathF.Ceiling()은 항상 '0에서 먼 방향'이 아니라 '더 큰 방향'으로 올림한다는 점을 기억해야 합니다.

정리

MathF.Ceiling() 메서드는 소수점 이하를 버리고 무조건 위쪽 정수로 올리는 함수로, 페이지 나누기 계산, 할당량 계산 등 '나눗셈 결과를 올림'해야 하는 상황에서 유용하게 활용됩니다. 반대로 내림 처리가 필요하다면 MathF.Floor(), 반올림이 필요하다면 MathF.Round() 메서드를 사용하면 됩니다.