如何用十进制数获取电池温度?实际上我可以用计算
int temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0);
但以这种方式,结果将是例如36 °C
。。我想要一些能给我看36.4 °C
的东西我该怎么办?
谷歌在这里说:
ACTION_BATTERY_CHANGED的额外值:包含当前电池温度的整数。
返回的值是一个int,表示27.5摄氏度为"275",因此精确到十分之一摄氏度。只需将其转换为浮点数并除以10即可。
使用您的示例:
int temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0);
float tempTwo = ((float) temp) / 10;
或
float temp = ((float) intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0) / 10;
您不必担心10是int,因为只有一个操作数需要是浮点运算,结果也需要是1。
public static String batteryTemperature(Context context)
{
Intent intent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
float temp = ((float) intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0)) / 10;
return String.valueOf(temp) + "*C";
}
这是我知道你能得到电池温度的唯一方法,而且总是一个整数
根据文件:
公共静态最终字符串EXTRA_TURERATURE
ACTION_BATTERY_CHANGED的额外值:包含当前电池的整数温度
但是你可以除以10.0f得到一个小数。
float ftemp=温度/10.0f;