Flutter 方法'+';在null上调用了。接收者:null尝试呼叫:+;(123)

Flutter 方法'+';在null上调用了。接收者:null尝试呼叫:+;(123),flutter,dart,Flutter,Dart,我得到这个错误,我不知道为什么。我基本上只是检查操作符并根据它进行计算 谢谢你的帮助 功能: void calculate() { setState(() { int num1int = int.tryParse(_num1); int num2int = int.tryParse(_num2); int result = 0; if (_operator == "+") { result = nu

我得到这个错误,我不知道为什么。我基本上只是检查操作符并根据它进行计算

谢谢你的帮助

功能:


  void calculate() {
    setState(() {
      int num1int = int.tryParse(_num1);
      int num2int = int.tryParse(_num2);
      int result = 0;
      if (_operator == "+") {
        result = num1int + num2int;
      }
      else if (_operator == "-") {
        result = num1int - num2int;
      }
      else if (_operator == "*") {
        result = num1int * num2int;
      }
      else if (_operator == "/") {
        result = num1int ~/ num2int;
      }
    });
  }

如果“int.tryParse”无法将其转换为整数,它将返回“null”。所以你的代码是:null+null。如果num1int和num2int在计算前为null,则可以添加检查。

如果“int.tryParse”无法将其转换为整数,则将返回“null”。所以你的代码是:null+null。如果num1int和num2int在计算前为空,则可以添加检查。

请将代码更改为

  if (_operator == "+") {
    result = num1int??0 + num2int??0;
  }
  else if (_operator == "-") {
    result = num1int??0 - num2int??0;
  }
  else if (_operator == "*") {
    result = num1int??1 * num2int??1;
  }
  else if (_operator == "/") {
    result = num1int??1 ~/ num2int??1;
  }

请将代码更改为

  if (_operator == "+") {
    result = num1int??0 + num2int??0;
  }
  else if (_operator == "-") {
    result = num1int??0 - num2int??0;
  }
  else if (_operator == "*") {
    result = num1int??1 * num2int??1;
  }
  else if (_operator == "/") {
    result = num1int??1 ~/ num2int??1;
  }

你知道他为什么不能吗?我怎样才能在dart中将字符串转换成整数?你知道为什么他不能?如何在dart中将字符串转换为整数?