在java中5÷6为什么为0

如题所述

public class ScoreDemo {
public static void main(String[] args) {
int x = 5/6;//整数除整数,结果只保留小数点左边的数字
System.out.println(x);

double y = 5/6;//虽然结果的变量是double ,但是5/6依然是整数除整数
System.out.println(y);

//下面是几种常用的正确方法
double z = 5d/6;//可以把除数或者被除数转换成double类型的小数 ,使用  整数d的形式就可以了
System.out.println(z);

double a = 5*1.0/6;//通过乘1.0,首先把其中一个数转换成小数
System.out.println(a);

double b = 5.0/6;//通过吧整数写成.0的方法,变成小数
System.out.println(b);

double c = (double)(5)/6;//通过强制转换吧一个数字变成小数
System.out.println(c);

}
}

输出

0
0.0
0.8333333333333334
0.8333333333333334
0.8333333333333334
0.8333333333333334

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-27
1. 在Java中,5和6会被识别成整型,相除只取小数点左边的数字
2. 要获得小数,可以在6后面加一个d,转换成浮点数(5 / 6d),就可以获得小数了本回答被网友采纳
第2个回答  2015-11-13
精度问题。最后结果为整形就会自动转换。
第3个回答  2015-11-13
你设置结果的变量什么类型的,int ,float?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网