Здравствуйте, уважаемые форумчане! При обучении java столкнулся со следующей проблемой:
Если создаю обычное условие для проверки наличия дробной части у числа n, то всё работает как надо (в итоге выводит число в целочисленном формате). Если же использовать тернарный оператор, то в любом случае будет выводить чило в формате double вне зависимости от соответствия условию. Подскажите, пожалуйста, с чем это может быть связано.
package Hello;
import java.util.Scanner;
class Main_Class {
public static void main(String[] args) {
double n = 27.0;
if (n == (int)n) { // условие, на вывод числф в формате int,
System.out.println((int)n); //если у него нет дробной части
} else {
System.out.println(n);
}
System.out.print(( n == (int)n ) ? (int)n : n);// то же самое но в виде тернарного оператора
}
}
вот это выводит код:
27
27.0