C#에서는 Convert.ToDecimal() 메서드를 사용하여 지정된 값을 10진수(decimal) 숫자로 손쉽게 변환할 수 있습니다. 이 메서드는 문자열, 정수, 실수 등 다양한 형식의 값을 decimal 타입으로 변환하며, 특히 사용자 입력이나 외부 데이터를 정밀한 수치 계산에 활용할 때 유용합니다.
변환할 문자열 준비하기
먼저 변환할 문자열이 하나 있다고 가정해 보겠습니다.
string stringVal = "2,345.26";
이제 Convert.ToDecimal() 메서드를 사용하여 이 문자열을 decimal 숫자로 변환해 보겠습니다.
decimal decimalVal; decimalVal = System.Convert.ToDecimal(stringVal);
전체 예제
다음은 위 과정을 하나의 완전한 프로그램으로 구성한 예제입니다.
using System;
public class Demo {
public static void Main() {
decimal decimalVal;
string stringVal = "2,345.26";
decimalVal = System.Convert.ToDecimal(stringVal);
System.Console.WriteLine("String converted to decimal = {0} ", decimalVal);
}
}실행 결과
위 프로그램을 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
String converted to decimal = 2345.26
주의 사항
Convert.ToDecimal() 메서드를 사용할 때는 몇 가지 유의해야 할 점이 있습니다.
- 변환 대상 문자열이 null이면 반환값은 0이 됩니다.
- 숫자로 해석할 수 없는 잘못된 형식의 문자열을 전달하면 FormatException 예외가 발생합니다.
- 변환된 값이 decimal 범위를 벗어나면 OverflowException 예외가 발생합니다.
따라서 실무에서는 try-catch 블록으로 예외를 처리하거나, 예외 발생 없이 안전하게 변환 여부를 확인할 수 있는 decimal.TryParse() 메서드를 함께 활용하는 것이 좋습니다.