[C#프로그래밍] 계산기만들기 #02

728x90

 

https://m.post.naver.com/viewer/postView.naver?volumeNo=31984375&memberNo=6255089

 

https://sm-lee2026210.tistory.com/entry/C%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EA%B3%84%EC%82%B0%EA%B8%B0%EB%A7%8C%EB%93%A4%EA%B8%B0-01

 

[C#프로그래밍] 계산기만들기 #01

https://m.post.naver.com/viewer/postView.naver?volumeNo=31984375&memberNo=6255089 위 네이버 포스팅을 참고해서 계산기 폼을 만들었다. 2탄까지 따라 만들어서 간단한 계산이 되는 계산기를 완성하기는 했는데 . (poi

sm-lee2026210.tistory.com

 

  • 앞 전 코드에서 0.0002를 입력하려고 0 클릭 .클릭 0클릭을 하면 다시 0이 되어버리는 오류가 있었다.

  • 처음에는 display.Text에서 받아온 string 변수에 데이터포멧을 지정해보고,
    두번째는 Tostring을 할때 데이터 포멧을 지정해 봤는데 아무리 해도 되지 않았다.

  • 계산기 0을 계속 누르면서 왜 안될까... 하는데 0이 미동도 없는 걸 보고 '혹시..?' 하는 생각에 0버튼의 코드만 수정해 봤다.
private void ButtonZero_Click(object sender, EventArgs e)
        {

            if (operatorChangeFlag == true)
            {
                display.Text = "";
                operatorChangeFlag = false;
            }

            if (display.Text.Contains(".") == false)
            {
                string strNumber = display.Text += "0";
                double intNumber = double.Parse(strNumber);
                display.Text = intNumber.ToString();
            } else
            {
             string strNumber = display.Text += "0";
             display.Text = strNumber.ToString();

            }


        }

 

  • 만약 소수점이 없다면 display.Text에서 0을 붙인 후 string에 담고,
    다시 double 로 형변환 이후 다시 String으로 변환하여 display에 띄우고
    (0이 변환되면 그냥..사라져 버리는 듯 하다..)

  • 만약 소수점이 있다면 0이 사라지면 안되니 double로 형번환을 하지않고 그냥 바로 display에 띄워버리니 됐다.. 0이 찍힌다..

 

else
            {
             string strNumber = display.Text += "0";
             display.Text = strNumber.ToString();

            }

사실상 이 부분은 아래와 같이 수정해도 무방하다.

 

else
            {
             display.Text = display.Text += "0";

            }

어쨋든 계산기 문제 내 힘으로 오류 해결 완료!!

728x90