这个答案为什么是9.0

img

在一个表达式中,各项的类型会转换成一致的
比如一个double+int,那么会把int型转为double再运算
同样的,在三元运算中,为true时返回99.9,是个double型,那么9也会被转为double型,以保证结果的一致性
不能因为表达式的true和false,连返回值类型都变了
所以既然9是double型,它转字符串的时候默认保留1位小数,除非你另加格式化

Java三元表达式有字符强转的功能,返回值类型为两个返回值中类型精度更高的那个类型。望采纳!