Записать значение с плавающей точкой в ​​Node-буфер - PullRequest
0 голосов
/ 11 июня 2018

Я читаю данные датчика, и мне нужно отправить эти данные через Bluetooth, поэтому я использую библиотеку noble / bleno для подписки данных при каждом изменении значения.Здесь я путаю, как отправлять данные в виде буфера.

У меня есть что-то типа данных = 24.3756

Так что мне нужно записать это в буфер:

let buf = new Buffer(2);
buf.writeIntLE(buf);

Но при преобразовании в ArrayBuffer значение показывает только 24 (не получая после десятичной точки)

Как отправить полное значение с плавающей запятой и прочитать как буфер массива?

1 Ответ

0 голосов
/ 11 июня 2018

Прежде всего, пожалуйста, прочитайте документацию Buffer здесь .

Тогда, пожалуйста, не используйте устаревшие функции.Если вам нужно создать новый буфер, используйте Buffer.alloc или Buffer.allocUnsafe.Когда вы создаете буфер, убедитесь, что он может содержать данные, которые вы хотите записать туда.Далее, пожалуйста, используйте подходящий метод для записи данных.Вы пишете число с плавающей точкой, тогда вы должны использовать Buffer.writeFloatBE/Buffer.writeFloatLE.Если вы сделаете все, что я упомянул, вы получите правильное решение:

const buffer = Buffer.allocUnsafe(4);
buffer.writeFloatLE(24.3756);
...