Undefined при расчете процента в калькуляторе на js

Я пишу для петпроекта калькулятор. При подсчете процента у меня пишет undefind. При введении в основное поле(displayScreen) вводятся первое число - операция - второе число, первое число уходит в numA, второе в numB, результат отражается в displayResult. Все операции, кроме процентов, правильно считаются. При подсчете процентов в numA идет просто число, в numB идет numB.value = (+numA.value * +numB.value) / 100. При нажатии равно в displayResult получаю undefined. Что пошло не так?

Полный код с html, css, js тут на codepen

digits.forEach((item, i) => {
    item.addEventListener("click", (e) => {
      //нажата кнопка калькулятора All Clear / C
      // if (e.target.classList.contains("#clearAll")) return;

      let digitValue = +digits[i].value;

      displayScreen.value += digitValue;

      if (numA.value !== NaN && sign === "") {
        numA.value = displayScreen.value;
      } else if (numA.value !== "" && sign !== "") {
        numB.value += +digitValue;
      }

      console.log(+numA.value);
      console.log(typeof +numA.value);
      console.log(+numB.value);
      console.log(typeof +numB.value);
    });
  });

  op.forEach((item, i) => {
    item.addEventListener("click", (e) => {
      if (operator.includes(item.value)) {
        sign = item.value;
        displayScreen.value += item.value;
        finish = true;
        console.log(sign);
      }
      `if (sign === "%") {
        percent();
      }`
    });
  });

  `function percent() {
    numB.value = (+numA.value * +numB.value) / 100;
    console.log(+numB.value);
    console.log(typeof +numB.value);
  }`

  //выполнение вычислений
  let result;

  function calc() {
    switch (sign) {
      case "+":
        result = +numA.value + +numB.value;
        console.log(+numB.value);
        console.log(typeof +numB.value);
        break;
      case "-":
        result = +numA.value - +numB.value;
        // console.log(result);
        break;
      case "*":
        result = +numA.value * +numB.value;
        // console.log(result);
        break;
      case "/":
        result = +numA.value / +numB.value;
        // console.log(result);
        break;
      case "^":
        result = Math.pow(+numA.value, +numB.value);
        // console.log(result);
        break;
      default:
        break;
    }
    
    displayResult.value = result;
    numA.value = "";
    numB.value = "";
    console.log(+numB.value);
    console.log(result);
    console.log(typeof result);
    console.log(typeof displayResult.value);

  }

  document.querySelector(".calc").addEventListener("click", calc);```

Ответы (1 шт):

Автор решения: RSK

Вы забыли case для % добавить

case "%":
  result = +numA.value * (+numB.value/100);
break;

Я добавил и всё работает. 10 % 100 вывело 10

→ Ссылка