0

我想将以下函数的字符串(结果)转换为整数值并除以 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;


}

这个返回给了我一个字符串,fe 192000 (khz)。但我想要一个 mhz 值..

和:

int mhz = Integer.parseInt(result)

该应用程序自行关闭..

如何将khz值转换为mhz?

如果没有 .replace 行,我会收到错误消息。Logcat 说:“invalid int:”192000”,在这个数字之后有很多特殊字符,比如菱形..

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

请问你能帮帮我吗?

我认为结果值有问题。

谢谢

4

1 回答 1

1

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

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

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

于 2012-11-24T10:41:45.167 回答