我试图计算Windows中已用磁盘空间的百分比,而totaldrive表示Long中的C驱动器的总磁盘空间和Long中的freedrive dentoes可用空间.
long totaloccupied = totaldrive - freedrive;
Run Code Online (Sandbox Code Playgroud)
这里计算使用百分比
Long Percentageused =(totaloccupied/totaldrive*100);
System.out.println(Percentageused);
Run Code Online (Sandbox Code Playgroud)
print语句返回0.有人可以提供帮助,因为我没有得到所需的值
Lak*_*ake 52
你可能将long除以long,它指的是(long/long = long)操作,给出一个很长的结果(在你的情况下为0).
您可以通过将除法的操作数强制转换为浮点类型来实现相同的功能.
Long Percentageused = (long)((float)totaloccupied/totaldrive*100);
Run Code Online (Sandbox Code Playgroud)
你正在进行整数除法!由于totaloccupied小于totaldrive,两者的划分给出了答案0.你应该先转换为双倍:
double percentageUsed = 100.0 * totalOccupied / totalDrive;
Run Code Online (Sandbox Code Playgroud)
请注意,将小数点添加到100确保将其视为a double.
| 归档时间: |
|
| 查看次数: |
26451 次 |
| 最近记录: |