作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写这段代码:
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,甚至只是第一个,然后使用浮点运算,得到 0.333...
。
关于java - 整数除法 : Why is the result of 1/3 == 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61015794/
我是一名优秀的程序员,十分优秀!