如何获取带小数的电池温度?实际上,我可以使用以下方法进行计算:
int temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0);
但是按照这种方式,结果可能是36 °C
。我希望能显示36.4 °C
。该怎么做?
如何获取带小数的电池温度?实际上,我可以使用以下方法进行计算:
int temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0);
但是按照这种方式,结果可能是36 °C
。我希望能显示36.4 °C
。该怎么做?
谷歌表示here:
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是整数,因为只要一个操作数是浮点数,结果也会是浮点数。
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";
}
float temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0)/10;
? - David_Dint returnedValue = 270; float castedValue = ((float) returnedValue) / 10;
,我错过了什么。 - David_D