#flutter #dart
#flutter #dart
Вопрос:
Я получаю эту ошибку и не знаю почему. Я в основном просто проверяю оператор и делаю вычисления на его основе.
Спасибо за вашу помощь.
Функция:
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;
}
});
}
Ответ №1:
если «int.TryParse» не может преобразовать его в целое число, он вернет «null». Итак, ваш код делает: null null . Вы можете добавить проверку для num1int и num2int, если оно равно null перед вычислением.
Комментарии:
1. Вы знаете, почему он не может? Как я могу преобразовать строку в целое число в dart?
Ответ №2:
пожалуйста, измените свой код на
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;
}