-1
I am cracking my head in a problem that is giving in my debug in an application of mine which is as follows:
"The method '>' was called on null. Receiver: null Tried Calling: >(0)"
Follow the code for verification
void calculate() {
double totp1 = double.parse(precoController1.text) * 12;
double totmlp1 = double.parse(unidadeController1.text) * 12;
double totp2 = double.parse(precoController2.text) * 12;
double totmlp2 = double.parse(unidadeController2.text) * 12;
double difvalor;
double latas;
double litros;
double totlitros;
double diflitros;
if (totp1 > totp2) {
difvalor = totp1 - totp2;
latas = (difvalor / double.parse(precoController2.text));
litros = (latas * double.parse(unidadeController2.text));
totlitros = litros + totmlp2;
diflitros = totlitros - totmlp1;
}
if (diflitros > (0))
print('Pelo mesmo preço do Produto 1 você leva $latas' +
'latas do Produto 2, e ganha mais $diflitros' +
'Mls');
else if (diflitros < (0))
print('Compensa comprar o Produto 1');
else if (diflitros == (0))
print('Levando o Produto 2, mais $latas' +
'fica o mesmo que levar o produto 1');
else {
difvalor = totp2 - totp1;
latas = (difvalor / double.parse(precoController1.text));
litros = (latas * double.parse(unidadeController1.text));
totlitros = litros + totmlp1;
diflitros = totlitros - totmlp2;
}
if (diflitros > (0))
print('Pelo mesmo preço do Produto 2 você leva $latas' +
'latas do Produto 1, e ganha mais $diflitros' +
'Mls');
else if (diflitros < (0))
print('Compensa comprar o Produto 2');
else if (diflitros == (0))
print('Levando o Produto 1, mais $latas' +
'fica o mesmo que levar o produto 1');
}
Even if you declare
diflitros
asdouble
, if you do not initialize the variable explicitly with0
, Dart will initialize it asnull
, thereforediflitros > (0)
makes an exception, as the comparisonnull > 0
is not valid.– Andre
I didn’t quite understand... What would be this exception?
– Matheus Lima