C#에서 콘솔로 입력받은 값을 정수(integer)로 변환하려면 Convert.ToInt32() 메서드를 사용하면 됩니다.
res = Convert.ToInt32(val);
그럼 실제 사용 방법을 단계별로 살펴보겠습니다.
Convert.ToInt32()란?
Convert.ToInt32() 메서드는 숫자의 문자열 표현을 이에 상응하는 32비트 부호 있는 정수(int)로 변환해 줍니다. 사용자가 콘솔에 입력한 값은 기본적으로 문자열(string) 형태이기 때문에, 수학적 연산을 하려면 반드시 정수형으로 변환해야 합니다.
1단계: 콘솔 입력 읽기
먼저 Console.ReadLine() 메서드를 사용해 사용자의 입력을 문자열로 받습니다.
string val; val = Console.ReadLine();
2단계: 문자열을 정수로 변환
입력받은 문자열 값을 Convert.ToInt32()로 정수형으로 변환합니다.
int res; res = Convert.ToInt32(val);
전체 예제 코드
지금까지의 과정을 하나의 프로그램으로 정리하면 다음과 같습니다.
using System;
using System.Collections.Generic;
class Demo {
static void Main() {
string val;
int res;
Console.WriteLine("Input from user: ");
val = Console.ReadLine();
// 정수로 변환
res = Convert.ToInt32(val);
// 결과 출력
Console.WriteLine("Input = {0}", res);
}
}실행 결과
사용자가 아무 값도 입력하지 않고 Enter만 누른 경우, 빈 문자열은 0으로 처리되어 다음과 같이 출력됩니다.
Input from user: Input = 0
사용자가 직접 숫자를 입력한 경우에는 해당 값이 정상적으로 정수로 변환되어 출력됩니다.
Input from user: 2 Input = 2
참고 사항
Convert.ToInt32()는 입력값이 숫자가 아니거나 int 범위(-2,147,483,648 ~ 2,147,483,647)를 벗어나면 FormatException 또는 OverflowException 예외가 발생할 수 있습니다. 따라서 실무에서는 try-catch 문으로 감싸거나, 변환 성공 여부를 bool 값으로 반환하는 int.TryParse() 메서드를 함께 활용하는 것이 안전합니다.