Node-Red问题在这里 .
我已经将BME280传感器(温度,压力,湿度)连接到我的Raspberry Pi 3B上,用于我在工作中进行的侧面项目 . 我下载了BME280节点,它连接没有问题 . 然后,我通过JSON节点管道输出,将其转换为我的仪表板使用的标准(Freeboard仪表板) .
输出如下:
{温度:20.75,压力:1020.4576451979732,湿度:43.76235104765547}
The question is:
如何截断额外的小数位? 14位小数点击我的仪表!
我已经尝试在输出和仪表板之间的函数节点中使用Math.Trunc但是......好吧,我是一个初学者编码器,所以我真的可以做一点帮助 .
如果之前已经提出这个问题,请道歉 .
只
编辑:我已经尝试过的代码:
Math.Trunc("Pressure:", toFixed(2)); - not sure about this one
Math.Round("Pressure:" * 100) / 100;
我也试过了 .
parseFloat("Pressure").toFixed(2) - found on this site
我想这是我经验不足的地方 .
3 回答
您可以使用
toFixed()
功能 . 例如,如果您只需要逗号后面的2位数,则可以使用toFixed(2)
. 例如toFixed
会将其转换为字符串,因此您需要在之后将其解析为float在函数节点中尝试这样的事情:
虽然这已经闲置了一段时间,但是下面有一些关于如何从节点红色中解析来自BME280的数据的人的更多信息 .
传递的数据对象如下所示:
请注意,要获取所有这些数据,您需要检查BME280节点中的额外数据框,否则您只能得到:
提取所需的数据并在函数节点中截断它,如下所示: