jq로 추출된 숫자에서 후행 0 자르기

jq로 추출된 숫자에서 후행 0 자르기

다음 명령은 BTC특정 거래소에서 가격을 가져와 내 목표를 달성합니다.

curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price'

출력은 일시적이지만 7222.25000000가져오고 싶습니다.7222.25

답변1

다음 을 통해 가격을 전달하세요 tonumber.

curl -sS 'https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT' |
jq -r '.price | tonumber'

그러면 가격이 문자열에서 숫자로 변환되고 뒤에 오는 0이 제거됩니다. 설명서를 참조하십시오 jq.

답변2

Bash 내장 기능을 사용하는 것이 마음에 들지 않는다면 printf가 아마도 최선의 선택일 것입니다.

curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price' | xargs printf '%.2f'

이렇게 하면 뒤따르는 두 자리 숫자를 유지하고 반올림을 완료할 수 있습니다.

답변3

awk도 옵션입니다

curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price'  | awk '{printf "%.2f\n", $1}'

관련 정보