gpt4 book ai didi

java - 整数除法 : Why is the result of 1/3 == 0?

转载 作者:IT老高 更新时间:2023-10-28 11:35:48 24 4
gpt4 key购买 nike

我正在编写这段代码:

public static void main(String[] args) {
double g = 1 / 3;
System.out.printf("%.2f", g);
}

结果为0。这是为什么,我该如何解决这个问题?

最佳答案

两个操作数(1 和 3)是整数,因此使用整数算术(这里是除法)。将结果变量声明为 double 只会导致在除法之后发生隐式转换。

整数除法当然会返回四舍五入到零的除法结果。 0.333... 的结果因此在这里向下舍入为 0。 (请注意,处理器实际上并没有进行任何舍入,但您仍然可以这样想。)

另外,请注意,如果 两个 操作数(数字)都以 float 形式给出; 3.0 和 1.0,甚至只是 first,然后使用浮点运算,给你 0.333....

关于java - 整数除法 : Why is the result of 1/3 == 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4685450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com