TIL 06|計算機の作成


今日の勉強は電卓作りです><
JavaScriptを使用して、Htmlドライバ計算機を情緒計算機モデルフレームワーク付きで駆動
基本計算機能の実装
  • 演算時script.関数calculationを記述してjsのcalculate関数
  • を利用する
  • の最初の数字ボタンをクリックすると、最初の画面には、押す数字
  • が表示される必要があります.
  • の数字ボタンと演算子ボタンを順番にクリックすると、最初の画面に数字が表示され、2番目の画面に演算子
  • が表示されます.
  • 数字ボタン、演算子ボタン、数字ボタンの順にクリックすると、数字、演算子、数字の順に表示されます.
  • 数字ボタン、演算子ボタン、数字ボタン、Enterボタンの順にクリックすると、数字、演算子、数字、=、演算結果が表示されます.
  • ACボタンをクリックすると、画面に0、+、0、=、0の順に表示されます.
  • let count = 1;
    
    function calculate(n1, operator, n2) {
      let result = 0;
      n1 = parseFloat(n1);
      n2 = parseFloat(n2);
      if (operator === '+'){
        result = parseFloat(n1) + parseFloat(n2);
      } 
      if (operator === '-'){
        result = parseFloat(n1) - parseFloat(n2);
      } 
      if (operator === '*'){
        result = parseFloat(n1) * parseFloat(n2);
      } 
      if (operator === '/'){
        result = parseFloat(n1) / parseFloat(n2);
      }
    
    
      // TODO : n1과 n2를 operator에 따라 계산하는 함수를 만드세요.
      // ex) 입력값이 n1 : '1', operator : '+', n2 : '2' 인 경우, 3이 리턴됩니다.
      return String(result);
    }
    parseFloat()文字列を数値に変更する関数を加えて、計算値を数値にします.小数点まで表示されるので、parseInt()の代わりに入れます.
    +Number()関数は、文字を数値に変換することもできます.文字型の数字のほかに、他の文字がある場合はNANが表示されます.
    buttons.addEventListener('click', function (event) {
      // 버튼을 눌렀을 때 작동하는 함수입니다.
    
      const target = event.target; // 클릭된 HTML 엘리먼트의 정보가 저장되어 있습니다.
      const action = target.classList[0]; // 클릭된 HTML 엘리먼트에 클레스 정보를 가져옵니다.
      const buttonContent = target.textContent; // 클릭된 HTML 엘리먼트의 텍스트 정보를 가져옵니다.
      // ! 위 코드(Line 19 - 21)는 수정하지 마세요.
    
      if (target.matches('button')) {
        // TODO : 계산기가 작동할 수 있도록 아래 코드를 수정하세요. 작성되어 있는 조건문과 console.log를 활용하시면 쉽게 문제를 풀 수 있습니다.
        // 클릭된 HTML 엘리먼트가 button이면
        if (action === 'number') {
          if(firstOperend.textContent === '0') {
            console.log('숫자 ' + buttonContent + ' 버튼'); 
            firstOperend.textContent =buttonContent;
          }
          else {
            console.log('숫자 ' + buttonContent + ' 버튼');
            secondOperend.textContent =buttonContent;
          }
          // 그리고 버튼의 클레스가 number이면
          // 아래 코드가 작동됩니다.
        }
        if (action === 'operator') {
          console.log('연산자 ' + buttonContent + ' 버튼');
          operator.textContent=buttonContent;
        }
    
        if (action === 'decimal') {
          // console.log('소수점 버튼');
          
        }
    
        if (action === 'clear') {
          console.log('초기화 버튼');
          firstOperend.textContent = '0';
          operator.textContent = '+';
          secondOperend.textContent = '0';
          calculatedResult.textContent = '0';
        } 
    
        if (action === 'calculate') {
          console.log('계산 버튼');
          calculatedResult.textContent = calculate(firstOperend.textContent, operator.textContent, secondOperend.textContent)
        }
      }
    });
    上記のコードにより、1番目の数字と2番目の数字をディスプレイに表示し、calculate関数により計算符号化した.
  • は簡単な計算機を作ったのですが、私の手で計算機を作ることができても初日より大きく進歩したと思います.