2017-01-30 59 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); 
相關問題