我使用 jq 1.6,并尝试将数字四舍五入到小数点后两位。我该怎么办?
我的代码:
echo 20.152 | jq -c 'round'
我的输出:
20
预期输出:
20.15
您可以乘以 10 的幂,舍入,然后除以 10 的幂。使用
100
表示两位小数。忽略浮点误差,这应该会给出您期望的数字。
jq '.*100|round/100'
如果经常需要,可以定义一个函数并使用它:
def round(precision):.*pow(10;precision)|round/pow(10;precision);
将定义放入
~/.jq
文件中可以让您自动在所有 jq 程序中使用它。