我试图除以 2 Long 以找到百分比。但是,我只得到0.0%
or 当它们相等时,100.0%
. 这就是我正在做的
long size =
long mem =
double avg = (double)(size / mem) * 100;
我试图除以 2 Long 以找到百分比。但是,我只得到0.0%
or 当它们相等时,100.0%
. 这就是我正在做的
long size =
long mem =
double avg = (double)(size / mem) * 100;
你正在做long
除法,它会截断数字的小数部分。至少有一个操作数必须是 adouble
才能产生非零double
,您可以这样做:
double avg = (double)size / mem * 100;
分子现在变为 a double
,因为强制转换的优先级高于除法运算符/
。
如果你想避免长十进制数,你可以使用。
long percentage = 100 * size / mem; // as an integer.
如果你想要一位小数,你可以做
double percentage = (1000 * size / mem) / 10.0;