?

단축키

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
번호 분류 제목 날짜 조회 수 추천 수
116 JAVA 자바 프로그래머가 알아야할 10가지 이클립스 단축키 1 2015.10.27 8178 0
115 PHP Simple GD example 2014.07.10 8153 0
114 Pi ARDUINO multi function shield 핀정보 및 FND 소스 2016.11.21 8112 0
113 Android gdb commands 2015.03.11 8054 0
112 Pi Simple DAC - PWM을 Voltage로 변환하는 회로 file 2016.11.21 7996 0
111 LINUX 우분투(Ubuntu)에서 APM 웹서버 구축하기 2016.03.17 7944 0
110 일반 VP9 코덱 2015.09.01 7941 0
109 LINUX 리눅스 계정 목록 보기 2016.03.21 7912 0
108 Android JNI에서 가변 인수(varargs) 쓰기 2014.08.04 7824 0
107 Android git archive 를 사용해서 폴더를 .git 제외하고 tar 나 zip 으로 묶기 1 2019.02.10 7805 0
106 LINUX [Shell Script] 쉘 프로그래밍을 위한 명령어 file 2015.04.30 7728 0
105 Android 실시간으로 폰의 pcap 보기 2016.01.05 7726 0
104 LINUX bash 의 명령어 History 2015.01.20 7684 0
103 Pi ftp 설정하기 2015.10.01 7642 0
102 Android SQLite 데이타 베이스 다루기 2015.03.03 7599 0
목록
Board Pagination ‹ Prev 1 ... 22 23 24 25 26 27 28 29 30 31 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


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

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

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5