JQ数字输出格式

4

对于以下输入:

abc@abc:~$ curl https://bittrex.com/api/v1.1/public/getticker?market=btc-doge | jq ".result.Ask"

输出给 jq:

{"success":true,"message":"","result":{"Bid":0.00000034,"Ask":0.00000035,"Last":0.00000035}}

从 jq 输出:

3.5e-07

如何在JQ中将数字输出格式从3.5e-07转换为0.00000035
1个回答

4

虽然不是最理想的方法,但您可以使用printf将科学计数法格式的数字格式化为十进制。

$ printf '%.8f' $(curl -s https://bittrex.com/api/v1.1/public/getticker?market=btc-doge | jq ".result.Ask")
0.00000035

在printf命令中,.8指定了8位精度。您可以指定.10,然后您将得到:
0.0000003500

或者指定更低的精度.4并且会丢失数据。

0.0000

1
它的工作原理是 curl -s https://bittrex.com/api/v1.1/public/getticker?market=btc-doge | jq ".result.Ask" | awk {' printf "%.8f",$1 '} - deathfish
主要的问题是我在BASH - Linux中忘记了“main”。 - deathfish
@deathfish 如果这个答案解决了你的问题,你应该标记它。 - hmedia1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接