当从诺基亚健康API读取温度时,我得到了以下读数。然而,这些是不正确的。在诺基亚应用程序中,以摄氏度为单位的读数如下:
35C { value: 26918, type: 12, unit: -3 }
35.6C { value: 23569, type: 12, unit: -3 }
36.7C { value: 27398, type: 12, unit: -3 }发布于 2018-05-02 17:24:31
从我所能收集到的from the docs
value是度量值。这需要与unit参数结合使用才能获得正确的值。
type表示度量类型。在本例中,12表示温度
unit是指数乘数,需要与value字段相乘才能得到以SI为单位的实际值。
公式:
actualValue = value * (10 ^ unit)
分析你的一个例子:
{ value: 26918, type: 12, unit: -3 }
这里的类型是12,所以它是温度(因此,如果API以SI单位返回,我们可以假设单位是开尔文)
所以,actualValue = 26918 * (10 ^ -3)就是26.918K
文档没有明确提到温度单位是什么。我假设它是开尔文,因为它是国际标准温度的单位。文档摘录:
值
以S.I单位(公斤、米等)表示的度量值的
值。值应该乘以10的“单位”的幂(见下文),才能得到真实的值。
单元
的十的幂" value“参数应该与之相乘才能得到实际值。例如:值= 20,单位=-1表示值真的是2.0
https://stackoverflow.com/questions/50130826
复制相似问题