这是一个基本问题,但我找不到答案。我研究了浮点算法和其他一些主题,但似乎没有任何东西可以解决这个问题。我敢肯定我只是用错了术语。
基本上,我想取两个数量-已完成和总计-将它们除以一个百分比(已完成的数量)。数量为long
s。设置如下:
long completed = 25000;
long total = 50000;
System.out.println(completed/total); // Prints 0
我试过将结果重新分配给它打印的两倍0.0
。我要去哪里错了?
顺便说一下,下一步是将该结果乘以100,我认为一旦克服了这一小障碍,这应该很容易。
顺便说一句,这里没有作业,只是普通的老呆子(也许今天编码太多)。
转换输出为时已晚;该计算已经以整数算术进行。你需要将输入转换为double
:
System.out.println((double)completed/(double)total);
请注意,你实际上并不需要转换两个输入。只要其中一个是double
,另一个将被隐式转换。但是出于对称性,我宁愿两者都做。
Java中是否有任何关键字可以将两个数字相除,例如“ Math.floorDiv(num1,num2)”
@Rudra-我不确定您要问什么。如果
num1
和num2
是正整数,则将num1 / num2
为您提供所需的值。否则,就是Math.floor(num1 / num2)
。