C#/프로그래밍 기초

C# 기초 - 07. 자료형 변환

tita 2024. 5. 26. 17:51

입력 받은 문자열을 숫자로 변경하거나 long 을 int 로 변경할 수 있습니다.

 

이렇게 자료형을 다른 자료형으로 바꾸는 것을 자료형 변환이라 합니다.

 

하지만 long 에서 int 로 변환하는 상황에서 값을 벗어나는 경우가 존재합니다. 

이 경우에는 강제 자료형 변환을 사용합니다.

 

다음은 강제 자료형 변환의 예시입니다.

var a = (int)10.0f;
var b = (float)10;
var c = (double)100;

 

 

문자열 또한 숫자로 변환이 가능합니다.

숫자끼리의 변환처럼 같은 방법으로 하면 에러가 발생하게 됩니다.

 

문자열을 숫자로 변경하려면 Parse 메서드를 사용해야 합니다.

메서드 이름 설명
int.Parse() 다른 자료형을 int 자료형으로 변경합니다.
long.Parse() 다른 자료형을 long 자료형으로 변경합니다.
float.Parse() 다른 자료형을 float 자료형으로 변경합니다.
double.Parse() 다른 자료형을 double 자료형으로 변경합니다.

 

static void Main(string[] args)
{
    Console.WriteLine(int.Parse("52")); // 문자열 "52" 가 int 타입 52로 변경됩니다.
    Console.WriteLine(long.Parse("273")); // 문자열"273" 이 long 타입 273으로 변경됩니다.
    Console.WriteLine(float.Parse("52.2")); // 문자열 "52.2" 가 float 타입 52.2로 변경됩니다.
    Console.WriteLine(double.Parse("52.4")); // 문자열 "52.4" 가 double 타입 52.4로 변경됩니다.
}

/*
[실행 결과]
52
273
52.2
52.4
*/

 

 

다른 자료형을 문자열로 변환하는 것도 가능합니다.

이 경우 ToString 메서드를 사용합니다.

메서드 설명
ToString() 문자열로 변환합니다.

 

static void Main(string[] args)
{
    Console.WriteLine((10).ToString()); 
    Console.WriteLine((10.123).ToString()); 
    Console.WriteLine('a').ToString()); 
    Console.WriteLine((true).ToString()); 
    Console.WriteLine((false).ToString()); 
}

/*
[실행 결과]
10
10.123
a
true
false
*/

 

 

ToString() 메서드를 활용하면 실수의 소수점을 원하는 곳까지 출력할 수 있습니다.

 

static void Main(string[] args)
{
    double number = 52.1234567;
    
    Console.WriteLine(number.Tostring("0.0")); // 소수점 아래 첫째 자리까지 출력
    Console.WriteLine(number.Tostring("0.00")); // 소수점 아래 둘째 자리까지 출력
    Console.WriteLine(number.Tostring("0.000")); // 소수점 아래 셋째 자리까지 출력
    Console.WriteLine(number.Tostring("0.0000")); // 소수점 아래 넷째 자리까지 출력
}

/*
[실행 결과]
52.1
52.12
52.123
52.1234
*/

 

실행했을 경우 잘려진 부분이 반올림 되는것도 기억해야 합니다.