?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
C#에서 Textbox안에 쓰여진 모든 것은 문자로 받아들여집니다.
이 때 문자형으로 받아들여진 숫자를 산술 계산을 위해 숫자로 변환해야 할 일이 자주 발생하죠.

Everything is inputed in Textbox in C#, adapt as strings.
So, it happend very oftenly is change from the string type to int type for mathmatical calculation.

이를 위한 2가지 방법을 찾아 보았습니다.
So, I find 2 kinds of ways.

[1] Convert()

int changed = Convert.ToInt16(string X);


[2] Int16.Parse()
int changed = Int32.Parse(string X);


[1] Convert()
Convert 뒤에 점(.)을 붙이면 변환 가능한 Int형(다른 것도 가능)이 나오며, 그 방법은 아래와 같이
()안에 바꿀 문자열을 넣어 주면 됩니다.
Use the dot(.) after Convert, we can see the type list able to change. (Int and other types), the way to use is write the string variables in () as below.

int changed = Convert.ToInt16(string X);

[2] Int16.Parse()
변환할 Int형의 크기를 입력하고 점(.)을 붙이면 Parse() 메서드 사용이 가능합니다.
Typewrite the Int type size and add the dot(.), we can see the Parse() method on the list.

int changed = Int32.Parse(string X);

[주의사항]
그렇다면 위 둘의 차이점은 사용법 뿐일까요? 아닙니다. Convert는 바꿀 문자열이 Null일 경우를 무시해버리지만, Parse는 Null이 있으면 에러를 뿌려줍니다.
때문에, Parse는 적절한 에러 처리가 가능한 프로그램 코딩이 가능합니다.

[Remark]
What is the difference with Convert() & Parse() ? Just typewriting format ? No !
Convert() ignores when the string is Null. But, Parse() makes a error when it meet the Null.
So, we can pragramming the code prepare the error handling by using Parse().



 int op = 0; // 확인 할 값을 넣을 op 변수 선언
            //// declare the variables op 
 
try
{
op = Int32.Parse(intX.ToString()); //intX가 Null 값인지 확인
                   //// Check the intX is Null or not
}
catch
{
MessageBox.Show(op.ToString() + "Error"); 
        //intX가 Null이면 Error Message
        //// if intX is Null then show Error Message Box
}
finally
{
op = 100;
MessageBox.Show(op.ToString()); 
       // 어쨌든 op에 100을 넣고 값 출력
       // Anyway input the 100 at op and print it 
}
 
MessageBox.Show("Finished");



-------------------------------------------


프로그래밍을 하다보면 상당히 골치아픈 문제가 바로 타입 변환 문제이다. 

예를 들면 문자열로 데이터를 받아서 이것을 정수형으로 바꿔야 한다던지.. 이런 경우를 자주 맞이하게 되는데,

 

C / C++에서는 형변환으로 이 모든걸 해결하기에는 한계가 있었다. 타입을 바꾸는 함수를 만들어줘야하는 경우도 있었고, 애시당초에 타입을 잘 맞춰서 코딩하는 방법밖에는 없었다. 어쩌면 이게 더 맞는 것일지도 모르지만..

 

아무튼 C#에서는 이 골치아픈 문제를 해결해주기 위해 정수 계열 타입 및 부동 소수점 계열 타입에 Parse() 라는 메소드를 추가했다.

Parse() 메소드에 문자열을 넘기면 해당 문자열을 정수 혹은 부동소수점 타입으로 변환시켜준다.

 

다음과 같이 사용하면 된다.

 

int a = int.Parse("12345");

float b = float.Parse("123.45");

 

반대로 숫자 데이터를 문자열로 바꾸는 것도 가능하다. 이는 ToString() 메소드를 통해 가능하다.

다음과 같이 사용하면 된다.

 

int c = 12345;

string d = c.ToString();

 

float e = 123.45;

string f = e.ToString();

 

이 두 메소드를 통해 형변환에 대해 좀 더 편리해진 것을 알 수 있다.

오오오... 좋다......




Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
401 일반 배치파일(bat)에서 for루프 사용법 2010.04.15 47744 0
400 일반 배치파일(bat 파일) 명령어 사용법 2007.01.23 42908 61
399 C# 문자열 다루기 1 2012.04.06 18579 0
398 C# 문자열 검색 / 조작 2012.01.03 23501 0
397 Pi 무선랜 wifi 설정 2015.10.01 6864 0
396 LINUX 명령어 뒤의 옵션 자동완성 기능, complete 명령어 2015.01.06 8955 0
395 Android 맨날 까먹는 버튼 클릭 이벤트 핸들러 코드 2014.12.17 5912 0
394 LINUX 매번 잊는다.. tar 풀기 : tar zxvf file 2 2009.04.14 36657 0
393 일반 마크다운 markdown (.md) 파일이란 2017.07.12 12318 0
392 업무 마이크로 버블 Micro Bubble 이란 2016.08.29 9356 0
391 MFC 리사이징 다이얼로그(Resizing dialog) 2008.03.24 46727 0
390 LINUX 리눅스의 기본 명령어들 2015.01.20 6738 0
389 LINUX 리눅스에서 특정작업 or 명령어 반복하기 Crontab 2014.11.10 10350 0
388 LINUX 리눅스 파일시스템 체크 하기 fsck(e2fsck) 사용법 2016.04.15 39824 0
387 LINUX 리눅스 커널리빌딩, 버젼확인, ctags명령, vi편집기활용, 기본명령 2012.05.07 14981 0
목록
Board Pagination ‹ Prev 1 ... 3 4 5 6 7 8 9 10 11 12 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5