2023. 10. 8. 21:36ㆍC#/자료형
개요
Ⅰ. 개념
1. 문자열 정수 타입 변환: int.Parse( ), Convert.ToInt32( )
2. 문자열 실수 타입 변환: float.Parse( ), Convert.ToSingle( )
3. 문자열 타입 변환 시 주의 사항
Ⅱ. 코드
1. 문자열을 정수 타입으로 변환
2. 문자열을 실수 타입으로 변환
Ⅲ. 예제
1. 문자열 숫자가 짝수인지 홀수인지 판단
2. 문자열 숫자의 절댓값 출력
Ⅰ. 개념
1. 문자열 정수 타입 변환
1) int.Parse( )
int.Parse(변환하려는 문자열)
Parse는 '분석하다'라는 뜻으로, 구문을 분석하여 원하는 정보를 추출해내는 것을 파싱(Parsing)이라고 함
2) Convert.ToInt32( )
Convert.ToInt32(변환하려는 문자열)
Convert는 변환 전용 클래스임
ToInt32( )의 32는 int의 bit수로, int의 크기 4 byte = 32 bit임
[참고] 8 bit = 1 byte
2. 문자열 실수 타입 변환
1) float.Parse( )
float.Parse(변환하려는 문자열)
2) Convert.ToSingle( )
Convert.ToSingle(변환하려는 문자열)
Convert의 경우, ToFloat( )라는 것은 없고 ToSingle( )을 사용함
Single은 float와 double 간의 크기 비유로 나온 용어임
float는 4 byte 실수 → 단일(single) 배정도
double 8 byte 실수 → 이중(double) 배정도
3. 문자열 타입 변환 시 주의 사항
타입을 변환하려는 문자열에는 숫자가 아닌 문자가 들어있으면 안됨

str = "50sec" 처럼 숫자가 아닌 문자가 있는 문자열을 변환하려고 하는 경우 위와 같은 예외 처리 문구가 나옴
예외는 오류(버그)로, 정상이 아님을 의미함
Ⅱ. 코드
1. 문자열을 정수 타입으로 변환
1) 코드
using System;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
string str = "100";
// 1) int.Parse() 사용
int x = int.Parse(str);
Console.WriteLine("int.Parse() 사용: {0}", x);
// 2) Convert.ToInt32() 사용
int y = Convert.ToInt32(str);
Console.WriteLine("Convert.ToInt32() 사용: {0}", y);
}
}
}
2) 실행 결과

2. 문자열을 실수 타입으로 변환
1) 코드
using System;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
string str = "100.1";
// 1) float.Parse() 사용
float x = float.Parse(str);
Console.WriteLine("float.Parse() 사용: {0}", x);
// 2) Convert.ToSingle() 사용
float y = Convert.ToSingle(str);
Console.WriteLine("Convert.ToSingle() 사용: {0}", y);
}
}
}
2) 실행 결과

Ⅲ. 예제
1. 문자열 숫자가 짝수인지 홀수인지 판단
1) 문제
다음 문자열 숫자가 짝수인지 홀수인지 판단하시오.
- 문자열: "2023"
2) 코드
using System;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
string str = "2023";
int x = int.Parse(str);
if(x % 2 == 0)
{
Console.WriteLine("{0}은 짝수", str);
}
else
{
Console.WriteLine("{0}은 홀수", str);
}
}
}
}
3) 실행 결과

2. 문자열 숫자의 절댓값 출력
1) 문제
다음 문자열 숫자의 절댓값을 출력하시오.
- 문자열: "-2023.09"
2) 코드
using System;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
string str = "-2023.09";
float x = float.Parse(str);
if(x >= 0)
{
Console.WriteLine("{0}의 절댓값: {1}", str, x);
}
else
{
Console.WriteLine("{0}의 절댓값: {1}", str, -x);
}
}
}
}
3) 실행 결과

[공부 일자] 2023.09.19
'C# > 자료형' 카테고리의 다른 글
| C# 자료형 - [참고] decimal (0) | 2023.10.08 |
|---|---|
| C# 자료형 - 논리(Boolean) (0) | 2023.10.07 |
| C# 자료형 - 문자열을 문자 배열처럼 사용 (0) | 2023.10.07 |
| C# 자료형 - 문자열 관련 함수 (0) | 2023.10.07 |
| C# 자료형 - 문자열(String) (0) | 2023.10.03 |