将CPU的khz值转换为mhz或ghz

时间:2012-11-24 10:36:17

标签: android parsing integer cpu

我想将以下函数的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“,在这个数字之后有很多像钻石一样的特殊字符..

所以我不知道如何才能获得正确的价值......

你能帮我吗?

我认为结果值有问题。

谢谢

1 个答案:

答案 0 :(得分:1)

在将数字转换为int之前,请使用以下内容删除所有非数字字符:

int khz = result.replace("[^0-9]+", "");

然后将khz转换为数字并将其除以1000。