13. 윈도우 계산기 - 기타 버튼 구현
01. 목표
더보기
![](https://blog.kakaocdn.net/dn/bgyitx/btsKPCNuzqG/nh0gzzMrAQV3o00BdefRkk/img.png)
![](https://blog.kakaocdn.net/dn/bgyitx/btsKPCNuzqG/nh0gzzMrAQV3o00BdefRkk/img.png)
CE(초기화), %(백분율), ⌦(삭제),-(음수) 버튼을 구현합니다.
C(Clear)의 의미는 입력된 모든 값과 계산 전체 삭제입니다.
CE(Clear Entry)의 의미는 마지막 입력 값의 전체 삭제입니다.
⌦의 의미는 마지막 입력 값 중 마지막 입력 1개 부분 삭제입니다.
02. CE 버튼 구현
더보기
![](https://blog.kakaocdn.net/dn/u83Gk/btsKQMVUiJ0/fNzu0bVnrK4uWDGGssTfrk/img.png)
![](https://blog.kakaocdn.net/dn/cqCGlf/btsJ6SDwC1l/qwUCX2AMMoOAFm68x1d7J0/img.png)
02.1
![](https://blog.kakaocdn.net/dn/u83Gk/btsKQMVUiJ0/fNzu0bVnrK4uWDGGssTfrk/img.png)
02.2
![](https://blog.kakaocdn.net/dn/cqCGlf/btsJ6SDwC1l/qwUCX2AMMoOAFm68x1d7J0/img.png)
resultLabel.Content = "0";
02.3 실행하여, 동작을 확인합니다.
03. % 버튼 구현
더보기
![](https://blog.kakaocdn.net/dn/bOmbYW/btsKPhiv4wT/suQL59y7Xm9roDNbAQDsDK/img.png)
![](https://blog.kakaocdn.net/dn/cMTI5b/btsJ7UUJqIg/tiHP2QqqxbuzFL2LiXmGM0/img.png)
03.1
![](https://blog.kakaocdn.net/dn/bOmbYW/btsKPhiv4wT/suQL59y7Xm9roDNbAQDsDK/img.png)
03.2
![](https://blog.kakaocdn.net/dn/cMTI5b/btsJ7UUJqIg/tiHP2QqqxbuzFL2LiXmGM0/img.png)
double lastNumber;
private void percentButton_Click(object sender, RoutedEventArgs e)
{
if (double.TryParse(resultLabel.Content.ToString(), out lastNumber))
{
lastNumber = lastNumber / 100;
resultLabel.Content = lastNumber.ToString();
}
}
03.3 실행하여, 동작을 확인합니다.
04. - 버튼 구현
더보기
![](https://blog.kakaocdn.net/dn/bu9prP/btsKONI4Wsx/l8I1YXonqPFoKhThtPXilK/img.png)
![](https://blog.kakaocdn.net/dn/bqbVAO/btsJ6eAittU/tJT7eK9R3byd7kJ3K7o73K/img.png)
04.1
![](https://blog.kakaocdn.net/dn/bu9prP/btsKONI4Wsx/l8I1YXonqPFoKhThtPXilK/img.png)
04.2
![](https://blog.kakaocdn.net/dn/bqbVAO/btsJ6eAittU/tJT7eK9R3byd7kJ3K7o73K/img.png)
if (double.TryParse(resultLabel.Content.ToString(), out lastNumber))
{
lastNumber = lastNumber * -1;
resultLabel.Content = lastNumber.ToString();
}
04.3 실행하여, 동작을 확인합니다.
04.4여기까지 완료된 예제의 압축 파일
05. .(소수점) 버튼 구현
더보기
![](https://blog.kakaocdn.net/dn/OTjal/btsKPPy6Uxk/KpiKtDRajeN60uviEf4Nf1/img.png)
![](https://blog.kakaocdn.net/dn/ojcVu/btsJ6IukAkd/cIDJ1fwaIUaEcqnias5fk0/img.png)
05.1
![](https://blog.kakaocdn.net/dn/OTjal/btsKPPy6Uxk/KpiKtDRajeN60uviEf4Nf1/img.png)
05.2
![](https://blog.kakaocdn.net/dn/ojcVu/btsJ6IukAkd/cIDJ1fwaIUaEcqnias5fk0/img.png)
if ($"{resultLabel.Content}".ToString().Contains('.'))
{
// 소수점이 하나라도 포함되어 있다면, 아무것도 하지 않음Do Nothing
}
else
resultLabel.Content = $"{resultLabel.Content}.";
05.3 실행하여, 동작을 확인합니다.
06. 실행 결과 확인