플밍하다보면 변수를 계산할때가 있을겁니다
폼 크기를 원하는 수만큼 +1 하거나 다운로드 진행을 백분률로 계산해 사용자에게 보여준다던가..
이번 강좌에서는 변수의 계산과 변환을 강좌할겁니다.
참고로 계산을 다른말로 연산이라고 합니다
변수의 연산은 쉬워요
변수 = 계산식;
변수는 계산한 결과를 저장할 변수고
계산식은 계산할 식을 적으면 되요
연산자
더하기 : + 예)1 + 1 답 2
빼기 : - 예)3 - 2 답 1
곱하기 : * 예)5 * 5 답 25
나누기 : / 예)6 / 3 답 2
나머지 : % 예)7 % 2 답 1 맞나
계산식
피연산자 연산자 피연산자
예
int a; //int 형의 변수 a 를 선언
a = 1 + 1 //a 라는 변수에 1 + 1 의 값을 할당시킴
(현재 a 의 값 : 2)
정말 쉽죠?
이번에는 변수와 변수의 연산을 알아보겠습니다
int a;
int b = 3;
int c = 10;
a = b + c
(현재 a 의 값 : 3 더하기 10인 13)
그냥 숫자대신에 변수를 대입시키면 되요
그럼 stinrg 의 계산은 어떻게할까요?
string a;
string b = "1";
string c = "2";
a = b + c;
MessageBox.Show(a);
출력 결과가 1 과 2를 더한 3일것같지만 아닙니다.
string 변수는 숫자가 아닌 문자열을 저장하는 변수에요. 그래서 그냥 문자열을 갖다붙이는 역할을 합니다.
출력결과는 b 의 1 과 c 의 2를 갖다붙인 12 가 나옵니다
(string 의 연산은 + (더하기) 만 지원됩니다!)
예제 프로그램을 만들어봅시다
텍스트박스 두개랑 버튼하나를 만들어요
그다음 버튼이벤트에다 string 형 변수 a 를 선언하고 텍스트박스의 Text 속성을 더해보세요.
string a;
a = textbox1.text + textbox2.text
MessageBox.Show(a);
결과는 역시 두개의 문자를 이어붙인 결과가 나왔네요.
그럼 string 변수는 숫자연산을 못할까요? 그렇지 않습니다.
변수를 int 형으로 변환하면 string 으로 선언되었다고 해도 int 형으로 값을 바꿀수 있습니다.
int 형 변수 abc 를 선언하고 텍스트박스1의 텍스트와 텍스트박스2의 텍스트를 서로 더해봅시다
int abc;
abc = textbox1.Text + textbox2.Text;
MessageBox.Show(abc);
?! 오류가 뜹니다
오류 내용은 textbox1.Text 를 int 형식으로 변환할수 없다는 내용입니다.
textbox1.Text 는 string 형 변수이기 때문이죠
그래서 string 을 int 로 바꾸려면
Convert.ToInt32(변수);
(이거 말고도 int.Parse(변수) 이렇게 해도 됩니다)
이렇게하면 string 이 int 로 변합니다 (textbox1.Text 변수 자체가 변하는건 아니에요. 값만 변하는거)
abc = Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text);
이러면 오류가 사라질겁니다(는 안사라짐)
이번에는 MessageBox.Show(abc); 에서 오류가 뜨네요
메세지박스는 string 형식의 값만 표시할수있어요
그래서 int 형식인 abc 에서 오류가 뜨는거죠
이제 int 를 string 으로 변환하는방법입니다.
abc.ToString()
아까보다 더 쉽죠? 이렇게
(이것도 String.Parse(변수) 해도 되요)
MessageBox.Show(abc.ToString());
하시면 int 가 string 으로 변환됩니다.
실행결과
123 과 1을 더한 124 가 정상적으로 출력되는군요.
다음강좌는 논리 연산에 대해 알아보겠습니다.