我想将以下函数的String(result)转换为Integer值并将其除以1000(khz - > mhz)
private String ReadCPUMhz()
{
ProcessBuilder cmd;
String result="";
try{
String[] args = {"/system/bin/cat", "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"};
cmd = new ProcessBuilder(args);
Process process = cmd.start();
InputStream in = process.getInputStream();
byte[] re = new byte[1024];
while(in.read(re) != -1)
{
result = result + new String(re);
}
in.close();
} catch(IOException ex){
ex.printStackTrace();
}
result = result.replace("\n", "");
result = result.replace(" ", "");
return result;
}
这个回报给了我一个字符串,f.e。 192000(khz)。 但我想要一个mhz值..
使用:
int mhz = Integer.parseInt(result)
该应用程序自行关闭..
如何将khz值转换为mhz?
没有.replace行,我收到了一个错误。 Logcat说:“无效的int:”192000“,在这个数字之后有很多像钻石一样的特殊字符..
所以我不知道如何才能获得正确的价值......
你能帮我吗?
我认为结果值有问题。
谢谢
答案 0 :(得分:1)
在将数字转换为int之前,请使用以下内容删除所有非数字字符:
int khz = result.replace("[^0-9]+", "");
然后将khz转换为数字并将其除以1000。