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

C# Decimal.ToUInt32() 메서드 완벽 정리 – 사용법과 예제

C#의 Decimal.ToUInt32() 메서드는 지정된 Decimal 값을 그에 해당하는 32비트 부호 없는 정수(uint)로 변환할 때 사용됩니다. 소수점 이하 값은 잘리지 않고 반올림되어 정수로 반환됩니다.

구문(Syntax)

이 메서드의 기본 구문은 다음과 같습니다.

public static uint ToUInt32 (decimal val);

여기서 매개변수 val은 32비트 부호 없는 정수로 변환하고자 하는 decimal 숫자입니다.

주요 특징

  • 반환값은 uint(0 ~ 4,294,967,295) 범위입니다.
  • 소수 부분은 반올림되어 가장 가까운 정수로 처리됩니다(0.5는 올림).
  • 입력 값이 음수이거나 UInt32.MaxValue보다 크면 OverflowException이 발생합니다.

예제 1

Decimal.ToUInt32() 메서드를 실제로 구현한 첫 번째 예제를 살펴보겠습니다.

using System;
public class Demo {
   public static void Main(){
      Decimal val = 0.001m;
      Console.WriteLine("Decimal value = "+val);
      uint res = Decimal.ToUInt32(val);
      Console.WriteLine("32-bit unsigned integer = "+res);
   }
}

출력 결과

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

Decimal value = 0.001
32-bit unsigned integer = 0

0.001은 정수로 변환 시 0에 가장 가까우므로 결과가 0으로 출력됩니다.

예제 2

이번에는 다른 값을 사용한 두 번째 예제를 확인해 보겠습니다.

using System;
public class Demo {
   public static void Main(){
      Decimal val = 67.487m;
      Console.WriteLine("Decimal value = "+val);
      uint res = Decimal.ToUInt32(val);
      Console.WriteLine("32-bit unsigned integer = "+res);
   }
}

출력 결과

실행 결과는 다음과 같습니다.

Decimal value = 67.487
32-bit unsigned integer = 67

67.487은 반올림 과정에서 소수점 이하가 버려져 67이라는 32비트 부호 없는 정수로 변환된 것을 확인할 수 있습니다.

정리

Decimal.ToUInt32() 메서드는 decimal 타입의 값을 안전하게 uint 타입으로 변환해야 할 때 유용합니다. 단, 음수나 허용 범위를 초과하는 값이 입력되면 예외가 발생하므로, 변환 전에 값의 범위를 검증하는 것이 좋습니다.