C#에서 Decimal.ToSByte() 메서드는 지정된 Decimal 값을 그에 해당하는 8비트 부호 있는 정수(sbyte)로 변환하는 데 사용됩니다.
구문
기본 구문은 다음과 같습니다.
public static sbyte ToSByte (decimal val);
여기서 val은 sbyte 값으로 변환할 decimal 숫자를 의미합니다.
예제 1
다음은 Decimal.ToSByte() 메서드를 구현한 첫 번째 예제입니다.
using System;
public class Demo {
public static void Main(){
Decimal val = 97.567m;
Console.WriteLine("Decimal 값 = "+val);
sbyte res = Decimal.ToSByte(val);
Console.WriteLine("SByte 값 = "+res);
}
}출력 결과
위 코드를 실행하면 다음과 같은 출력이 생성됩니다.
Decimal 값 = 97.567 SByte 값 = 97
출력 결과에서 볼 수 있듯이, 소수점 이하 값(0.567)은 버려지고 정수 부분인 97만 sbyte 타입으로 반환됩니다.
예제 2
이번에는 1보다 작은 소수 값을 변환하는 또 다른 예제를 살펴보겠습니다.
using System;
public class Demo {
public static void Main(){
Decimal val = 0.001m;
Console.WriteLine("Decimal 값 = "+val);
sbyte res = Decimal.ToSByte(val);
Console.WriteLine("SByte 값 = "+res);
}
}출력 결과
위 코드를 실행하면 다음과 같은 출력이 생성됩니다.
Decimal 값 = 0.001 SByte 값 = 0
참고 사항
Decimal.ToSByte() 메서드는 변환 과정에서 소수점 이하 자릿수를 잘라내어(truncation) 정수 부분만 반환합니다. 따라서 반올림이 아닌 절삭 방식으로 동작한다는 점에 유의해야 합니다. 또한, 변환 대상 값이 sbyte가 표현할 수 있는 범위(-128 ~ 127)를 벗어나면 OverflowException이 발생하므로, 변환 전에 값의 범위를 확인하는 것이 안전합니다.