You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lua >5.3 supports 64-bit integers, but encode_number rounds to 14 significant digits. This causes values to be unnecessarily rounded even though Lua and WASM support them.
Related to the PR in the original json.lua implementation here - rxi/json.lua#42
Example:
Spin up a process using aos and add the following Handler.
Handlers.add("test", "Get-Number", function (msg)
local exampleValue = 951824235837328
ao.send({ Target = msg.From, Value = exampleValue, Data = exampleValue })
end)
Value and Data are rounded and returned as 951824235837330. If tostring() is used, the correct number (as a string) is returned.
The text was updated successfully, but these errors were encountered:
TLDR:
Lua >5.3 supports 64-bit integers, but
encode_number
rounds to 14 significant digits. This causes values to be unnecessarily rounded even though Lua and WASM support them.Related to the PR in the original json.lua implementation here - rxi/json.lua#42
Example:
Spin up a process using aos and add the following Handler.
Value
andData
are rounded and returned as951824235837330
. Iftostring()
is used, the correct number (as a string) is returned.The text was updated successfully, but these errors were encountered: