从诺基亚健康API读取温度时,我得到以下读数。但是,这些都不正确。在诺基亚应用程序中,摄氏度的读数如下:
35C { value: 26918, type: 12, unit: -3 }
35.6C { value: 23569, type: 12, unit: -3 }
36.7C { value: 27398, type: 12, unit: -3 }
答案 0 :(得分:0)
我可以收集from the docs:
value
是衡量标准的价值。这需要与unit
参数一起使用才能获得正确的值。
type
表示度量类型。在这种情况下,12表示温度
unit
是指数乘数,需要与值字段相乘得到以SI为单位的实际值。
公式:
actualValue = value * (10 ^ unit)
打破你的一个例子:
{ value: 26918, type: 12, unit: -3 }
这里的类型是12,所以它的温度(因此,如果API以SI单位返回,我们可以假设单位为开尔文)
所以,actualValue = 26918 * (10 ^ -3)
是26.918K
文档没有明确提到温度单位是什么。我认为它是开尔文,因为那是温度的SI单位。摘自文档:
<强>值强>
以S.I为单位的度量值(千克,米等)。值应该乘以10乘以&#34; unit&#34; (见下文)以获得真正的价值。
<强>单元强>
十的权力&#34;价值&#34;参数应乘以得到实际值。例如:value = 20,unit = -1表示该值实际为2.0