java 两个整数相除 结果为一位小数

public static void main(String[] args) {
double ans = 3/4;

System.out.println("The answer is " + ans);
}
输出为0.0
既然两个整数相除的结果默认为整型,为什么这里还会输出.0?
这里的.0不是四舍五入的结果,那么应该怎么解释?

double ans = 3/4;

因为ans的类型为double

其实你这个式子就和
double ans=0是等价的,虽然是给的整数,但在储存的时候,已经做了隐式类型转换为double了,输出时会按类型格式输出,double当然要保留小数位,另外,他的小数不是四舍五入得来的,而是空位补0。
3/4明显大于0.5,四舍五入的话应该为1才对
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-09
两步操作: 3/4 没有指定浮点数,结果为整型0.
然后再类型转化成了double,如果不指定小数位数会自动给带一位小数。
第2个回答  2014-05-01
double 是精度问题,和3/4没有关系。
举个例子:
int ans=3/4;
int ans =0.3/0.4;
结果都是0,不会出现0.0。
这个只是精度的问题。
第3个回答  2014-05-01
double ans = 3.d / 4;

精度问题,以上即可

第4个回答  2018-04-09
你这个情况叫取整