gpt4 book ai didi

java - 如何在我的代码出错的 Java 中找到百分比?

转载 作者:行者123 更新时间:2023-11-29 08:08:45 26 4
gpt4 key购买 nike

我正在尝试获取百分比,但我的代码给出的是“0.0”,而 totalMemoryusageMemory 的值我也设置了小数点后 4 位,但结果是“0.0000"我的代码是,

private static long maxMemory=0;
private static long freeMemory=0;
private static long totalMemory=0;
private static long usageMemory=0;
private static double Percentage;

Runtime runtime=Runtime.getRuntime();
maxMemory=runtime.maxMemory();
freeMemory=runtime.freeMemory();
totalMemory=runtime.totalMemory();
usageMemory=totalMemory-freeMemory;
Percentage=((usageMemory/totalMemory)*100.0);
//NumberFormat percentage =NumberFormat.getPercentInstance();
//percentage = new DecimalFormat("0.0#%");
//String pr = percentage.format(Percentage);
System.out.print(Percentage);
System.out.print("Total Memory:"+totalMemory+"\n");
System.out.print("Memory Usage:"+usageMemory+"\n");

请帮助我做错什么,非常感谢这方面的任何帮助。

提前致谢!

最佳答案

这是因为你使用了long类型。 Long 类型不处理小数。

用double代替long

我解释一下:将两个长的结果除以一个长的结果(因此在乘以 100 之前四舍五入)。

代码:

double totalMemory;
double freeMemory;....

totalMemory=runtime.getTotalMemory()...

或者如果你想保留 long 类型:

percentage=(((double)usageMemory/(double)totalMemory)*100d);

关于java - 如何在我的代码出错的 Java 中找到百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9498755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com