두자리 계산기

개발(공부) 자국·2021년 4월 13일
0

계산기를 구현하는 과제에서 어려웠던 부분이 소숫점을 붙이는 과정이 저말 어려웠다.

if (action === 'dot') {
      let Dot = true;
      for (let searchDot = 0; searchDot < monitor.textContent.length; searchDot++) {
        if (monitor.textContent[searchDot] === '.') {
          Dot = false;
          break; //점을 찍기 전에 점이있는지 판단하고 없을때만 찍는다.
        }
      }
      if (Dot) {
        if (operate === undefined) {//연산자를 입력하지 않은 상태는 무조건 붙인다.
          monitor.textContent = monitor.textContent + pushContent;
        }
        else if(preKey === 'operate') {//이전 입력이 연산자이고 바로 점을 누르면 0.을 붙인다.
          monitor.textContent = '0' + pushContent;
        }
        else if(preKey === 'number') {//이전 입력이 숫자일때는 숫자 뒤에 점을 붙인다.
          monitor.textContent = monitor.textContent + pushContent;
        }
      }  
      preKey = 'dot';  
    }

소수점을 붙이는 조건을 나누는 것이 어려웠다.

몇시간을 헤메고 겨우 돌아가게 만들었다.

앞으로는 코드에 주석을 다는 습관을 들여야겠다.

내가 다음에 보기도 편하고 남이 보기에도 코드의 의도를 알아차리는데도 시간이 단축되기 때문이다.

주석을 적으면서 코딩하니 생각을 어디까지 했었는지 알 수 있어서 좋았다.

profile
기록을 중요하게 생각하는 사람입니다. 학습한 내용을 정리한 것이라 잘못된 정보가 있을 수 있습니다. 잘못된 정보는 언제든 말씀해 주시기 바랍니다.

0개의 댓글