我在写代码:
public static void main(String[] args) { double g = 1 / 3; System.out.printf("%.2f", g); }
结果为0。为什么会这样,我该如何解决这个问题?
fafcakar16#
最简单的解决办法就是这样做
double g = ((double) 1 / 3);
因为您没有输入1.0/3.0,所以它允许您手动将它转换为double数据类型,因为java假设它是整数除法,即使它意味着缩小转换范围,它也会这样做。这就是所谓的cast操作符。
16条答案
按热度按时间fafcakar16#
最简单的解决办法就是这样做
因为您没有输入1.0/3.0,所以它允许您手动将它转换为double数据类型,因为java假设它是整数除法,即使它意味着缩小转换范围,它也会这样做。这就是所谓的cast操作符。