2017-03-13 40 views
0

节点 - 红色问题在这里。节点 - 红色,要截断BME280的结果传感器

我将一台BME280传感器(温度,压力,湿度)连接到我的Raspberry Pi 3B上进行工作。我下载了BME280节点,它连接没有问题。然后,我通过JSON节点管道输出将其转换为我的仪表板使用的标准(Freeboard仪表板)。

输出如下:

{温度:20.75,压力:1020.4576451979732,湿度:43.76235104765547}

的问题是:

如何截断多余的小数位?小数点后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 

我想这是我的缺乏经验真正表现的地方。

+0

向我们展示你试过代码有人会帮助你解决它。 (编辑问题以包含它,不要尝试添加为注释) – hardillb

回答

1

您可以使用toFixed()函数。例如,如果您只需在逗号后面输入两位数字,则可以使用toFixed(2)。例如

var t = 10.122345355 
t.toFixed(2) // "10.12" 

toFixed将其转换为字符串,所以你需要分析它作为一个浮动之后

0

尝试是这样的一个功能节点:

var pres = msg.payload.pressure; 
var temp = msg.payload.temperature; 
var humidity = msg.payload.humidity; 

msg.payload = { 
    pressure: pres.toFixed(2), 
    temperature : temp.toFixed(2), 
    humidity: humidity.toFixed(2) 
}; 

return msg; 
+0

非常感谢!我试过这个,它马上就起作用了。我还想感谢帮助我了解我需要构建代码的方式。 – Meremortal

+0

http://stackoverflow.com/help/someone-answers – hardillb