如何用十进制数获取电池温度



如何用十进制数获取电池温度?实际上我可以用计算

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;

最新更新