如何避免jq截断长十进制

问题描述:

如何防止jq截断长十进制值?

How can I prevent jq from truncating long decimal values?

例如:

echo '18302628978110292481' | jq .

结果:1​​8302628978110292000

result: 18302628978110292000

JavaScript不支持这么大的数字, jq 也是如此。整数大小为 2 ^ 53 。检查

Javascript does not support such big numbers and so does jq. The integer size is 2^53. Check this

要使其正常运行,您需要将它们视为字符串:

To make it work, you'll need to treat them as strings:

echo '"18302628978110292481"' | jq .
# Prints "18302628978110292481"