# Need some help with float numbers

**URL:** <https://discourse.nodered.org/t/need-some-help-with-float-numbers/48292>\
**Category:** General\
**Created:** [12 July 2021 08:42 UTC](https://discourse.nodered.org/t/need-some-help-with-float-numbers/48292 "2021-07-12T08:42:18Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [12 July 2021 09:21 UTC](https://discourse.nodered.org/t/need-some-help-with-float-numbers/48292/2 "2021-07-12T09:21:08Z")

</div>

> [@Aivaras](#):
>
> [34853, 200]. I need to convert that first number to negative float. Can someone help ? also I return two values from one output.

As modbus returns 16bit number, that "first number" is a 16bit (2 byte) number. A float is 32bit (4 bytes) so I presume the manual for your modbus device will give you a formula for converting a 2 byte value into a float.

My guess is you should be reading an int (not UINT) and then probably divide by 10 or 100 or 1000

e.g. - using [buffer-parser](https://flows.nodered.org/node/node-red-contrib-buffer-parser)...

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/c/5/c52953a9fbc28f888f518aebc31a3e55634fe7cc.png)

demo flow

```auto
[{"id":"7eb013ca918cae85","type":"inject","z":"1683bd9a.5e0a02","name":"faking modbus values","props":[{"p":"payload_as_buffer","v":"[136,37,0,200]","vt":"bin"},{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[34853, 200]","payloadType":"json","x":2100,"y":540,"wires":[["8df40ef3a7542857"]]},{"id":"8df40ef3a7542857","type":"buffer-parser","z":"1683bd9a.5e0a02","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"int16be","name":"myFloat_div10","offset":0,"length":1,"offsetbit":0,"scale":"/ 10","mask":""},{"type":"int16be","name":"myFloat_div100","offset":0,"length":1,"offsetbit":0,"scale":"/ 100","mask":""},{"type":"int16be","name":"myFloat_div1000","offset":0,"length":1,"offsetbit":0,"scale":"/ 1000","mask":""},{"type":"int16be","name":"myNumber","offset":2,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":2070,"y":600,"wires":[["16902e50e15dced7"]]},{"id":"16902e50e15dced7","type":"debug","z":"1683bd9a.5e0a02","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":2250,"y":600,"wires":[]}]

```

* * *

alternative version sending multiple messages from one output...

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/f/bf78d866b331de44b854969a8875a202a4f20450.png)

```auto
[{"id":"7eb013ca918cae85","type":"inject","z":"1683bd9a.5e0a02","name":"faking modbus values","props":[{"p":"payload_as_buffer","v":"[136,37,0,200]","vt":"bin"},{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[34853, 200]","payloadType":"json","x":2100,"y":540,"wires":[["8df40ef3a7542857"]]},{"id":"8df40ef3a7542857","type":"buffer-parser","z":"1683bd9a.5e0a02","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"int16be","name":"myFloat_div10","offset":0,"length":1,"offsetbit":0,"scale":"/ 10","mask":""},{"type":"int16be","name":"myFloat_div100","offset":0,"length":1,"offsetbit":0,"scale":"/ 100","mask":""},{"type":"int16be","name":"myFloat_div1000","offset":0,"length":1,"offsetbit":0,"scale":"/ 1000","mask":""},{"type":"int16be","name":"myNumber","offset":2,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"value","resultTypeType":"output","multipleResult":true,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":2070,"y":600,"wires":[["16902e50e15dced7"]]},{"id":"16902e50e15dced7","type":"debug","z":"1683bd9a.5e0a02","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":2250,"y":600,"wires":[]}]

```

* * *

Another alternative version - results to own outputs (fan out)

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/7/d7369e751a06975d235740f4c28ed5da246f79ea.png)

```auto
[{"id":"7eb013ca918cae85","type":"inject","z":"1683bd9a.5e0a02","name":"faking modbus values","props":[{"p":"payload_as_buffer","v":"[136,37,0,200]","vt":"bin"},{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[34853, 200]","payloadType":"json","x":2040,"y":540,"wires":[["8df40ef3a7542857"]]},{"id":"8df40ef3a7542857","type":"buffer-parser","z":"1683bd9a.5e0a02","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"int16be","name":"myFloat_div10","offset":0,"length":1,"offsetbit":0,"scale":"/ 10","mask":""},{"type":"int16be","name":"myFloat_div100","offset":0,"length":1,"offsetbit":0,"scale":"/ 100","mask":""},{"type":"int16be","name":"myFloat_div1000","offset":0,"length":1,"offsetbit":0,"scale":"/ 1000","mask":""},{"type":"int16be","name":"myNumber","offset":2,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"value","resultTypeType":"output","multipleResult":true,"fanOutMultipleResult":true,"setTopic":true,"outputs":4,"x":2050,"y":640,"wires":[["16902e50e15dced7"],["575a304c4ce43036"],["f23cf12dcee6af06"],["10843da0954e4d4e"]]},{"id":"16902e50e15dced7","type":"debug","z":"1683bd9a.5e0a02","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":2250,"y":580,"wires":[]},{"id":"575a304c4ce43036","type":"debug","z":"1683bd9a.5e0a02","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":2250,"y":620,"wires":[]},{"id":"f23cf12dcee6af06","type":"debug","z":"1683bd9a.5e0a02","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":2250,"y":660,"wires":[]},{"id":"10843da0954e4d4e","type":"debug","z":"1683bd9a.5e0a02","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":2250,"y":700,"wires":[]}]

```

---

_[View the full topic](https://discourse.nodered.org/t/need-some-help-with-float-numbers/48292)._
