2017-01-30 7 views
-2

У меня поток узлов, который должен создать полезную нагрузку MQTT.Как вы представляете число как строку в javascript?

Полезная нагрузка - это показание температуры с карты ввода-вывода, рассчитанное как поплавок (например, 73,4).

Мне нужна служебная информация сообщения как строка, а не число; что-то вроде «Barn Temp - 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 .. как 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 = read.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); 
Смежные вопросы