为什么这个Java部门打印出零?
我有以下代码行:
System.out.println(5/9);
我希望看到0.555作为结果,但它打印出零。 有人能帮我理解为什么会这样吗? 我目前正在学习编程并感谢他们的帮助。
谢谢!
发生这种情况是因为你在不知不觉中做的是Integer Division。 为了快速进行计算,当没有涉及十进制数时,计算机使用整数除法,因此十进制值丢失。
试试这个:
System.out.println(5.0 / 9.0);
要么
System.out.println(5.0 / 9);
要么
System.out.println(5 / 9.0);
要么
System.out.println((float) 5 / 9);
要么
System.out.println(5 / (float) 9);
你试图将5除以9.Both是整数。所以答案也是一个整数。所以返回0作为答案。所以尝试像System.out.println(5.0/9);
或者为浮点变量赋值并使用它
Integer
除以Integer
返回Integer
这样做
System.out.println(5.0/9);
这是一个整数除法,因为两个操作数都是整数类型。 整数除法给出通过截断获得的整数结果。
在Java(整数/整数)中运行整数除法时,将计算该数字,然后向下舍入到while数字。 因此,5/9被评估为0.55555,然后向下舍入为0。