buttonPressed method

void buttonPressed(
  1. String text
)

Implementation

void buttonPressed(String text) {
  setState(() {
    if (text == "C") {
      display = "0";
      num1 = num2 = null;
      operator = null;
    } else if (["+", "-", "×", "÷", "^", "√", "∛", "%"].contains(text)) {
      operator = text;
      num1 = double.tryParse(display);
      display = "0";
    } else if (text == "=") {
      num2 = double.tryParse(display);
      if (num1 != null && operator != null) {
        switch (operator) {
          case "+":
            display = Calculator.add(num1!, num2!).toString();
            break;
          case "-":
            display = Calculator.sub(num1!, num2!).toString();
            break;
          case "×":
            display = Calculator.multiply(num1!, num2!).toString();
            break;
          case "÷":
            display = Calculator.divide(num1!, num2!).toString();
            break;
          case "^":
            display = Calculator.power(num1!, num2!).toString();
            break;
          case "√":
            display = Calculator.squareRoot(num1!).toString();
            break;
          case "∛":
            display = Calculator.cubeRoot(num1!).toString();
            break;
          case "%":
            display = Calculator.percent(num1!, num2!).toString();
            break;
        }
      }
      operator = null;
    } else {
      display = display == "0" ? text : display + text;
    }
  });
}