在Node缓冲区中写入float值

时间:2018-06-11 15:03:39

标签: node.js bleno

我正在读取传感器数据,我需要通过蓝牙发送这些数据,所以我每次使用贵宾/ bleno库来订阅数据值。在这里,我很困惑如何将数据作为缓冲区发送。

我的数据类似于值= 24.3756

所以我需要在缓冲区中写这个:

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

但是当我转换为ArrayBuffer时,值只显示24(小数点后没有得到)

如何发送完整浮点值并读取为数组缓冲区?

1 个答案:

答案 0 :(得分:0)

首先请阅读缓冲区文档here

然后请不要使用已弃用的函数。如果您需要使用Buffer.allocBuffer.allocUnsafe创建新缓冲区。当您创建缓冲区时,请确保它可以保存您要在其中写入的数据。接下来请使用合适的方法来编写数据。您正在编写浮点数,然后必须使用Buffer.writeFloatBE/Buffer.writeFloatLE。如果你做了我提到的所有事情,你最终会得到一个正确的解决方案:

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