我在写代码:
public static void main(String[] args) { double g = 1 / 3; System.out.printf("%.2f", g); }
结果为0。为什么会这样,我该如何解决这个问题?
unhi4e5o16#
因为1和3都是整数,所以结果不是四舍五入的,而是截断的。所以你忽略分数,只取整数。为了避免这种情况,请至少将数字1或3中的一个设置为十进制形式1.0和/或3.0。
16条答案
按热度按时间unhi4e5o16#
因为1和3都是整数,所以结果不是四舍五入的,而是截断的。所以你忽略分数,只取整数。
为了避免这种情况,请至少将数字1或3中的一个设置为十进制形式1.0和/或3.0。