如何在没有地板的情况下划分Java?

Leo*_*ang 2 java integer

我试图在Java中将整数除以整数并返回长结果.我尝试了以下,但我一直得到"0".

System.out.println(Long.valueOf(5) / Long.valueOf(18));
System.out.println((long)5 / (long)18);
Run Code Online (Sandbox Code Playgroud)

das*_*ght 7

你不需要很长时间,你需要一个双倍.

System.out.println(5 / 18.0);
Run Code Online (Sandbox Code Playgroud)

要么

System.out.println(5.0 / 18);
Run Code Online (Sandbox Code Playgroud)

当然这也会起作用:

System.out.println(5.0 / 18.0);
Run Code Online (Sandbox Code Playgroud)


Aur*_*osa 5

Long用于"长"整数.你应该使用floatdouble代替.


Ala*_*ter 5

似乎每个人都给出了正确的答案,但您应该注意,您也可以这样做

System.out.println(5 / 18f)
Run Code Online (Sandbox Code Playgroud)

f使它浮动

System.out.println(5 / 18d)
Run Code Online (Sandbox Code Playgroud)

d使它成倍