Я только что научился правильно использовать спецификатор формата G
. См. Документацию MSDN . Существует небольшая заметка, указывающая, что конечные нули будут сохраняться для десятичных типов, если не задана точность. Почему они это сделают, я не знаю, но указание максимального количества цифр для нашей точности должно исправить эту проблему. Поэтому для форматирования десятичных знаков наилучшим вариантом является G29
.
decimal test = 20.5000m;
test.ToString("G"); // outputs 20.5000 like the documentation says it should
test.ToString("G29"); // outputs 20.5 which is exactly what we want
Чтобы иметь частоту на Android, просто прочитайте эти специальные файлы в каталоге / sys:
#cat "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"
#cat "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq"
#cat "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"
У вас будет ток, мин и макс. Разрешена частота.
Если вас интересует, сколько времени ваша система провела в каком состоянии, проверьте файл
/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
Я не уверен, нужен ли для этого корневой доступ.
cpuinfo_cur_freq
.
– Vi.
8 October 2013 в 18:23
не МГц, но, по крайней мере, что-то. Значение bogoMIPS может быть вам полезно.
private String ReadCPUinfo()
{
ProcessBuilder cmd;
String result="";
try{
String[] args = {"/system/bin/cat", "/proc/cpuinfo"};
cmd = new ProcessBuilder(args);
Process process = cmd.start();
InputStream in = process.getInputStream();
byte[] re = new byte[1024];
while(in.read(re) != -1){
System.out.println(new String(re));
result = result + new String(re);
}
in.close();
} catch(IOException ex){
ex.printStackTrace();
}
return result;
}