2017-01-30 24 views
-2

我有一个需要创建MQTT有效负载的节点红色流。你如何在javascript中将一个数字表示为一个字符串?

有效载荷是从I/O卡读取的温度读数,以浮点数计算(例如73.4)。

我需要消息有效负载是一个字符串,而不是数字;像“谷仓温度是73.2”。我如何创建这个?

msg.payload = tempReading;    // gives a number 
msg.payload = ""+tempReading;   // returns NaN 

一个额外的问题:如果我确实使用它作为数字有效载荷我怎样才能指定它的格式?读数计算在73.18527461364;我需要发送这个73.2。

我有一个时间的魔鬼找出如何在JavaScript中格式化字符串!

+0

字符串+数字串产生。示例没有意义,除非'tempReading'是第二个'NaN' – charlietfl

+2

[JavaScript字符串和数字转换]的可能重复(http://stackoverflow.com/questions/971039/javascript-string-and-number-conversion ) – Sandesh

+2

只是使用toFixed(1)格式73.185 .. as 73.2 – darron614

回答

0

toString是将数字转换为字符串的简单方法。

var x = 10.56; 
 
x = x.toString(); 
 
console.log(x, typeof x);

如果你想控制多少小数点显示,你可以使用toFixed

var x = 12.3456789; 
 
x = x.toFixed(3); 
 
console.log(x, typeof x);

+0

如果有人能解释它有什么问题,我很想提高我的答案。 –

+0

完美!并且msg.payload = reading.toFixed(1).toString()也可以工作。 – user3235770

0
var num = 74.3; //=> typeof num "number" 

var converted = String(num); //=> typeof converted "string" "74.3" 

在你的情况,只是做:

msg.payload = String(tempReading); 
相关问题