我收到此错误,但不知道为什么。我基本上只是检查运算符并据此进行计算。
谢谢您的帮助。
功能:
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;
}
});
}
答案 0 :(得分:1)
如果“ int.tryParse”无法将其转换为整数,它将返回“ null”。因此您的代码可以:null + null。您可以在计算前为num1int和num2int添加一个检查,如果它为空。
答案 1 :(得分: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;
}