【问题标题】:The method '+' was called on null. Receiver: null Tried calling: +(123)在 null 上调用了方法“+”。接收方:null 尝试调用:+(123)
【发布时间】:2021-01-14 08:32:48
【问题描述】:

我收到此错误,但我不知道为什么。我基本上只是检查运算符并根据它进行计算。

感谢您的帮助。

功能:


  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;
      }
    });
  }

【问题讨论】:

    标签: flutter dart


    【解决方案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;
      }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 你知道他为什么不能吗?如何在 dart 中将字符串转换为整数?
      猜你喜欢
      • 2021-08-26
      • 2020-12-06
      • 2020-05-24
      • 2022-08-05
      • 2021-04-17
      • 2020-07-03
      • 2021-03-29
      • 1970-01-01
      • 2022-09-26
      相关资源
      最近更新 更多