Hello,
I have a msg.payload with something like 130.33 e-42 and I want to have the decimal result 312.27, or rounded 312 back.
Do I have to use math for this?
Thanks in advance.
Tobias
Hello,
I have a msg.payload with something like 130.33 e-42 and I want to have the decimal result 312.27, or rounded 312 back.
Do I have to use math for this?
Thanks in advance.
Tobias
Yes! Perhaps you should explain a little more.
I'm reading TCP-Modbus data out of a power-unit.
My payload is a number (picture) an I want to convert the payload to decimal value.
In your example you say you want 130.33 e-42 to display as 312.27, but I don't see in what way those numbers are related.
What does the Payload 1 function do?
Function "Payload 1" is just extracting the msg.payload[1]
The upper debug is the origin payload from the modbus, the socond after the "Payload1"
Note that 1.2317e-319 is actually a super small number of 0.0000[ with 300+zeros ]0012317
You would need to multiply by something to get a rounded integer but e-319 is so small that you can't just multiply it by 1e+319 (I get infinite or overflow)
The payload is a decimal value, a very small one, that is a 0.000000000 with318 zeroes 1257. Are you sure you are reading data correctly and that your calculation in the function node is correct?
[edit] @jtmoderate876 beat me to it!
1.2317e-319 is in math (1.2317*e) -319 = -315.651892272
I believe you have it wrong and that is not correct.
But in JavaScript, 1.2317e-391
is 1.2317 * 10^-391
The debug window shows the direct numerical representation, in scientific mode for the exponent. What you’re referencing is Euler’s number, the mathematical constant e
. The number displayed in the debug window is however not a mathematical representation of a formula, but just a number.