Trim trailing zeroes off a number extracted by jq
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
The following command achieve my goal by grepping BTC
price from specific exchange.
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price'
the output will be for the moment 7222.25000000
but i would like to get it 7222.25
numeric-data jq
add a comment |
The following command achieve my goal by grepping BTC
price from specific exchange.
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price'
the output will be for the moment 7222.25000000
but i would like to get it 7222.25
numeric-data jq
2
Note that generally, you should only use thecurl
tag if curl is an essential part of the problem. If you can download the file to save it on disk and runjq -r .price <myfile
and get the same problem, curl isn't a necessary part of the problem.
– Charles Duffy
May 12 at 18:28
add a comment |
The following command achieve my goal by grepping BTC
price from specific exchange.
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price'
the output will be for the moment 7222.25000000
but i would like to get it 7222.25
numeric-data jq
The following command achieve my goal by grepping BTC
price from specific exchange.
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price'
the output will be for the moment 7222.25000000
but i would like to get it 7222.25
numeric-data jq
numeric-data jq
edited May 13 at 6:25
Michael Homer
52.6k9146182
52.6k9146182
asked May 12 at 6:31
αԋɱҽԃ αмєяιcαηαԋɱҽԃ αмєяιcαη
5152726
5152726
2
Note that generally, you should only use thecurl
tag if curl is an essential part of the problem. If you can download the file to save it on disk and runjq -r .price <myfile
and get the same problem, curl isn't a necessary part of the problem.
– Charles Duffy
May 12 at 18:28
add a comment |
2
Note that generally, you should only use thecurl
tag if curl is an essential part of the problem. If you can download the file to save it on disk and runjq -r .price <myfile
and get the same problem, curl isn't a necessary part of the problem.
– Charles Duffy
May 12 at 18:28
2
2
Note that generally, you should only use the
curl
tag if curl is an essential part of the problem. If you can download the file to save it on disk and run jq -r .price <myfile
and get the same problem, curl isn't a necessary part of the problem.– Charles Duffy
May 12 at 18:28
Note that generally, you should only use the
curl
tag if curl is an essential part of the problem. If you can download the file to save it on disk and run jq -r .price <myfile
and get the same problem, curl isn't a necessary part of the problem.– Charles Duffy
May 12 at 18:28
add a comment |
3 Answers
3
active
oldest
votes
Pass the price through tonumber
:
curl -sS 'https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT' |
jq -r '.price | tonumber'
This would convert the price from a string to a number, removing the trailing zeros. See the manual for jq
.
Note that it seems to be doing the equivalent ofprintf %16g
so you might lose some precision and numbers above 10 quadrillion would be represented with 1e16 notation and 0.00009 as 9e-05 for instance
– Stéphane Chazelas
May 13 at 6:59
add a comment |
If you don't mind using a Bash builtin, printf might be the way to go:
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price' | xargs printf '%.2f'
This way you will keep the two trailing digits and get a rounding done as well.
1
xargs
isn’t going to run the Bash builtin.
– Michael Homer
May 13 at 6:23
@MichaelHomer you are right,xargs
will run theprintf
binary and not the builtin.
– Edward
May 13 at 7:04
add a comment |
Awk is an option also
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price' | awk '{printf "%.2fn", $1}'
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f518496%2ftrim-trailing-zeroes-off-a-number-extracted-by-jq%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
Pass the price through tonumber
:
curl -sS 'https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT' |
jq -r '.price | tonumber'
This would convert the price from a string to a number, removing the trailing zeros. See the manual for jq
.
Note that it seems to be doing the equivalent ofprintf %16g
so you might lose some precision and numbers above 10 quadrillion would be represented with 1e16 notation and 0.00009 as 9e-05 for instance
– Stéphane Chazelas
May 13 at 6:59
add a comment |
Pass the price through tonumber
:
curl -sS 'https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT' |
jq -r '.price | tonumber'
This would convert the price from a string to a number, removing the trailing zeros. See the manual for jq
.
Note that it seems to be doing the equivalent ofprintf %16g
so you might lose some precision and numbers above 10 quadrillion would be represented with 1e16 notation and 0.00009 as 9e-05 for instance
– Stéphane Chazelas
May 13 at 6:59
add a comment |
Pass the price through tonumber
:
curl -sS 'https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT' |
jq -r '.price | tonumber'
This would convert the price from a string to a number, removing the trailing zeros. See the manual for jq
.
Pass the price through tonumber
:
curl -sS 'https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT' |
jq -r '.price | tonumber'
This would convert the price from a string to a number, removing the trailing zeros. See the manual for jq
.
answered May 12 at 6:45
Kusalananda♦Kusalananda
148k18279468
148k18279468
Note that it seems to be doing the equivalent ofprintf %16g
so you might lose some precision and numbers above 10 quadrillion would be represented with 1e16 notation and 0.00009 as 9e-05 for instance
– Stéphane Chazelas
May 13 at 6:59
add a comment |
Note that it seems to be doing the equivalent ofprintf %16g
so you might lose some precision and numbers above 10 quadrillion would be represented with 1e16 notation and 0.00009 as 9e-05 for instance
– Stéphane Chazelas
May 13 at 6:59
Note that it seems to be doing the equivalent of
printf %16g
so you might lose some precision and numbers above 10 quadrillion would be represented with 1e16 notation and 0.00009 as 9e-05 for instance– Stéphane Chazelas
May 13 at 6:59
Note that it seems to be doing the equivalent of
printf %16g
so you might lose some precision and numbers above 10 quadrillion would be represented with 1e16 notation and 0.00009 as 9e-05 for instance– Stéphane Chazelas
May 13 at 6:59
add a comment |
If you don't mind using a Bash builtin, printf might be the way to go:
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price' | xargs printf '%.2f'
This way you will keep the two trailing digits and get a rounding done as well.
1
xargs
isn’t going to run the Bash builtin.
– Michael Homer
May 13 at 6:23
@MichaelHomer you are right,xargs
will run theprintf
binary and not the builtin.
– Edward
May 13 at 7:04
add a comment |
If you don't mind using a Bash builtin, printf might be the way to go:
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price' | xargs printf '%.2f'
This way you will keep the two trailing digits and get a rounding done as well.
1
xargs
isn’t going to run the Bash builtin.
– Michael Homer
May 13 at 6:23
@MichaelHomer you are right,xargs
will run theprintf
binary and not the builtin.
– Edward
May 13 at 7:04
add a comment |
If you don't mind using a Bash builtin, printf might be the way to go:
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price' | xargs printf '%.2f'
This way you will keep the two trailing digits and get a rounding done as well.
If you don't mind using a Bash builtin, printf might be the way to go:
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price' | xargs printf '%.2f'
This way you will keep the two trailing digits and get a rounding done as well.
answered May 12 at 6:48
EdwardEdward
43338
43338
1
xargs
isn’t going to run the Bash builtin.
– Michael Homer
May 13 at 6:23
@MichaelHomer you are right,xargs
will run theprintf
binary and not the builtin.
– Edward
May 13 at 7:04
add a comment |
1
xargs
isn’t going to run the Bash builtin.
– Michael Homer
May 13 at 6:23
@MichaelHomer you are right,xargs
will run theprintf
binary and not the builtin.
– Edward
May 13 at 7:04
1
1
xargs
isn’t going to run the Bash builtin.– Michael Homer
May 13 at 6:23
xargs
isn’t going to run the Bash builtin.– Michael Homer
May 13 at 6:23
@MichaelHomer you are right,
xargs
will run the printf
binary and not the builtin.– Edward
May 13 at 7:04
@MichaelHomer you are right,
xargs
will run the printf
binary and not the builtin.– Edward
May 13 at 7:04
add a comment |
Awk is an option also
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price' | awk '{printf "%.2fn", $1}'
add a comment |
Awk is an option also
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price' | awk '{printf "%.2fn", $1}'
add a comment |
Awk is an option also
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price' | awk '{printf "%.2fn", $1}'
Awk is an option also
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price' | awk '{printf "%.2fn", $1}'
answered May 12 at 6:49
al76al76
1954
1954
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f518496%2ftrim-trailing-zeroes-off-a-number-extracted-by-jq%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
Note that generally, you should only use the
curl
tag if curl is an essential part of the problem. If you can download the file to save it on disk and runjq -r .price <myfile
and get the same problem, curl isn't a necessary part of the problem.– Charles Duffy
May 12 at 18:28