// Считал значение
num1 = Float.parseFloat(editText1.getText().toString());
// Сравнил значение
if (num1 > 12) {
Toast.makeText(MainActivity.this, "Внимание доза для ребенка!", Toast.LENGTH_LONG).show();}
else {
Toast.makeText(MainActivity.this, "Внимание доза для взрослого!", Toast.LENGTH_LONG).show();}
Если указываешь значение больше 12, то выскакивает сообщение "Внимание доза для взрослого!", как и положено.
А когда указываешь ниже 12, то тоже пишет "Внимание доза для взрослого!". Где ошибка?
Почему не правильно определяет if else?
-
Konstantin18ko
- Сообщения: 22
- Зарегистрирован: 14 авг 2015, 11:46
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Почему не правильно определяет if else?
Скорее всего это связано со спецификой представления чисел с плавающей точкой (float, double). Они могут быть не совсем такими, а с некоторыми отклонениями.
Выведите в консоль num1, что выводит ?
Выведите в консоль num1, что выводит ?
-
Konstantin18ko
- Сообщения: 22
- Зарегистрирован: 14 авг 2015, 11:46
Re: Почему не правильно определяет if else?
Честно сказать мои знания в java - это Ctrl+C/V. Так что я не знаю как вывести в консоль.
После долгих мучений в 5 минут понял.
Задал условия так:
double num6 = 12;
// Считал значение
num1 = Float.parseFloat(editText1.getText().toString());
// Сравнил значение
if (num1 > num6) {
Toast.makeText(MainActivity.this, "Внимание доза для ребенка!", Toast.LENGTH_LONG).show();}
else {
Toast.makeText(MainActivity.this, "Внимание доза для взрослого!", Toast.LENGTH_LONG).show();}
После долгих мучений в 5 минут понял.
Задал условия так:
double num6 = 12;
// Считал значение
num1 = Float.parseFloat(editText1.getText().toString());
// Сравнил значение
if (num1 > num6) {
Toast.makeText(MainActivity.this, "Внимание доза для ребенка!", Toast.LENGTH_LONG).show();}
else {
Toast.makeText(MainActivity.this, "Внимание доза для взрослого!", Toast.LENGTH_LONG).show();}
