Здравствуйте, уважаемые форумчане! При обучении 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