在javascript中如何将数字表示为字符串?

在javascript中如何将数字表示为字符串?,javascript,node.js,node-red,Javascript,Node.js,Node Red,我有一个需要创建MQTT负载的节点红色流 有效负载是来自I/O卡的温度读数,计算为浮点数(例如73.4) 我需要消息负载是字符串,而不是数字;类似于“谷仓温度为73.2”。我如何创建这个 msg.payload = tempReading; // gives a number msg.payload = ""+tempReading; // returns NaN 一个额外的问题:如果我使用这个作为一个数字负载,我如何指定它的格式?读数计算为7

我有一个需要创建MQTT负载的节点红色流

有效负载是来自I/O卡的温度读数,计算为浮点数(例如73.4)

我需要消息负载是字符串,而不是数字;类似于“谷仓温度为73.2”。我如何创建这个

msg.payload = tempReading;               // gives a number
msg.payload = ""+tempReading;            // returns NaN
一个额外的问题:如果我使用这个作为一个数字负载,我如何指定它的格式?读数计算为73.18527461364;我需要把这个作为73.2发送

我花了很长时间才学会如何用javascript格式化字符串

是一种将数字转换为字符串的简单可靠的方法

var x=10.56;
x=x.toString();
控制台日志(x,类型x)
在您的情况下,只需执行以下操作:

msg.payload = String(tempReading); 

字符串+数字生成字符串。除非第二个示例中的
tempReading
NaN
,否则该示例没有意义。该示例可能与73.185格式的just use toFixed(1)重复。。as 73.2和
.toFixed()
允许您截断小数部分(返回字符串),感谢您提供的快捷方式。我知道提出参考答案的人也因为提出问题而受到抨击。如果有人能解释我的答案有什么问题,我很想改进我的答案。太好了!msg.payload=reading.toFixed(1).toString()也起作用。
msg.payload = String(tempReading);