打印已完成的百分比

时间:2013-03-21 20:46:59

标签: java double long-integer

我试图划分2个Long来找到百分比。但是,我只获得0.0%或等同时100.0%。这就是我正在做的事情

long size =
long mem = 

double avg = (double)(size / mem) * 100;

2 个答案:

答案 0 :(得分:5)

你正在进行long除法,它会截断数字的小数部分。至少有一个操作数必须是double才能产生非零double,你可以这样做:

double avg = (double)size / mem * 100;

分子现在变为double,因为演员阵容high precedence而不是除法运算符/

答案 1 :(得分:1)

如果你想避免使用长十进制数字,你可以使用。

long percentage = 100 * size / mem; // as an integer.

如果你想要一个小数位,你可以做

double percentage = (1000 * size / mem) / 10.0;