Skip to content

Invalid number #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
kallekutta opened this issue Oct 18, 2018 · 4 comments
Closed

Invalid number #6

kallekutta opened this issue Oct 18, 2018 · 4 comments
Labels

Comments

@kallekutta
Copy link

Hello,

I get this when I try your script:

nils@HAL9000:/tmp$ ./ticker.sh AAPL AAPL 220,00./ticker.sh: line 73: printf: -0.5380001: invalid number ./ticker.sh: line 73: printf: -1.1900024: invalid number 0,00 (0,00%)

Do you know what's wrong?

@pstadler
Copy link
Owner

it works fine if you only query for AAPL once.

@kallekutta
Copy link
Author

Seems like the formatting of github code went wrong. I'm only querying AAPL once, here is the full debug output.

`nils@HAL9000:/tmp$ bash -x ./ticker.sh AAPL

  • set -e
  • LANG=en_US.UTF-8
  • SYMBOLS=("$@")
    ++ type jq
  • '[' -z AAPL ']'
  • FIELDS=(symbol marketState regularMarketPrice regularMarketChange regularMarketChangePercent preMarketPrice preMarketChange preMarketChangePercent postMarketPrice postMarketChange postMarketChangePercent)
  • API_ENDPOINT='https://query1.finance.yahoo.com/v7/finance/quote?lang=en-US&region=US&corsDomain=finance.yahoo.com'
  • : '\e[1;37m'
  • : '\e[32m'
  • : '\e[31m'
  • : '\e[00m'
    ++ IFS=,
    ++ echo AAPL
  • symbols=AAPL
    ++ IFS=,
    ++ echo symbol,marketState,regularMarketPrice,regularMarketChange,regularMarketChangePercent,preMarketPrice,preMarketChange,preMarketChangePercent,postMarketPrice,postMarketChange,postMarketChangePercent
  • fields=symbol,marketState,regularMarketPrice,regularMarketChange,regularMarketChangePercent,preMarketPrice,preMarketChange,preMarketChangePercent,postMarketPrice,postMarketChange,postMarketChangePercent
    ++ curl --silent 'https://query1.finance.yahoo.com/v7/finance/quote?lang=en-US&region=US&corsDomain=finance.yahoo.com&fields=symbol,marketState,regularMarketPrice,regularMarketChange,regularMarketChangePercent,preMarketPrice,preMarketChange,preMarketChangePercent,postMarketPrice,postMarketChange,postMarketChangePercent&symbols=AAPL'
    ++ jq '.quoteResponse .result'
  • results='[
    {
    "language": "en-US",
    "region": "US",
    "quoteType": "EQUITY",
    "quoteSourceName": "Nasdaq Real Time Price",
    "exchange": "NMS",
    "market": "us_market",
    "preMarketChange": 3.1399994,
    "preMarketChangePercent": 1.4535688,
    "exchangeTimezoneName": "America/New_York",
    "regularMarketPreviousClose": 216.02,
    "preMarketPrice": 219.16,
    "preMarketTime": 1539955799,
    "gmtOffSetMilliseconds": -14400000,
    "sourceInterval": 15,
    "exchangeTimezoneShortName": "EDT",
    "marketState": "REGULAR",
    "tradeable": true,
    "regularMarketChangePercent": 1.7695096,
    "esgPopulated": false,
    "regularMarketPrice": 219.8425,
    "regularMarketTime": 1539957436,
    "regularMarketChange": 3.8224945,
    "exchangeDataDelayedBy": 0,
    "fullExchangeName": "NasdaqGS",
    "symbol": "AAPL"
    }
    ]'
    ++ IFS=' '
    ++ echo AAPL
  • for symbol in '$(IFS=''' '''; echo "${SYMBOLS[*]}")'
    ++ query AAPL marketState
    ++ jq -r '.[] | select (.symbol == "AAPL") | .marketState'
    ++ echo '[' '{' '"language":' '"en-US",' '"region":' '"US",' '"quoteType":' '"EQUITY",' '"quoteSourceName":' '"Nasdaq' Real Time 'Price",' '"exchange":' '"NMS",' '"market":' '"us_market",' '"preMarketChange":' 3.1399994, '"preMarketChangePercent":' 1.4535688, '"exchangeTimezoneName":' '"America/New_York",' '"regularMarketPreviousClose":' 216.02, '"preMarketPrice":' 219.16, '"preMarketTime":' 1539955799, '"gmtOffSetMilliseconds":' -14400000, '"sourceInterval":' 15, '"exchangeTimezoneShortName":' '"EDT",' '"marketState":' '"REGULAR",' '"tradeable":' true, '"regularMarketChangePercent":' 1.7695096, '"esgPopulated":' false, '"regularMarketPrice":' 219.8425, '"regularMarketTime":' 1539957436, '"regularMarketChange":' 3.8224945, '"exchangeDataDelayedBy":' 0, '"fullExchangeName":' '"NasdaqGS",' '"symbol":' '"AAPL"' '}' ']'
  • '[' -z REGULAR ']'
    ++ query AAPL marketState
    ++ jq -r '.[] | select (.symbol == "AAPL") | .marketState'
    ++ echo '[' '{' '"language":' '"en-US",' '"region":' '"US",' '"quoteType":' '"EQUITY",' '"quoteSourceName":' '"Nasdaq' Real Time 'Price",' '"exchange":' '"NMS",' '"market":' '"us_market",' '"preMarketChange":' 3.1399994, '"preMarketChangePercent":' 1.4535688, '"exchangeTimezoneName":' '"America/New_York",' '"regularMarketPreviousClose":' 216.02, '"preMarketPrice":' 219.16, '"preMarketTime":' 1539955799, '"gmtOffSetMilliseconds":' -14400000, '"sourceInterval":' 15, '"exchangeTimezoneShortName":' '"EDT",' '"marketState":' '"REGULAR",' '"tradeable":' true, '"regularMarketChangePercent":' 1.7695096, '"esgPopulated":' false, '"regularMarketPrice":' 219.8425, '"regularMarketTime":' 1539957436, '"regularMarketChange":' 3.8224945, '"exchangeDataDelayedBy":' 0, '"fullExchangeName":' '"NasdaqGS",' '"symbol":' '"AAPL"' '}' ']'
  • '[' REGULAR == PRE ']'
    ++ query AAPL marketState
    ++ echo '[' '{' '"language":' '"en-US",' '"region":' '"US",' '"quoteType":' '"EQUITY",' '"quoteSourceName":' '"Nasdaq' Real Time 'Price",' '"exchange":' '"NMS",' '"market":' '"us_market",' '"preMarketChange":' 3.1399994, '"preMarketChangePercent":' 1.4535688, '"exchangeTimezoneName":' '"America/New_York",' '"regularMarketPreviousClose":' 216.02, '"preMarketPrice":' 219.16, '"preMarketTime":' 1539955799, '"gmtOffSetMilliseconds":' -14400000, '"sourceInterval":' 15, '"exchangeTimezoneShortName":' '"EDT",' '"marketState":' '"REGULAR",' '"tradeable":' true, '"regularMarketChangePercent":' 1.7695096, '"esgPopulated":' false, '"regularMarketPrice":' 219.8425, '"regularMarketTime":' 1539957436, '"regularMarketChange":' 3.8224945, '"exchangeDataDelayedBy":' 0, '"fullExchangeName":' '"NasdaqGS",' '"symbol":' '"AAPL"' '}' ']'
    ++ jq -r '.[] | select (.symbol == "AAPL") | .marketState'
  • '[' REGULAR '!=' REGULAR ']'
  • nonRegularMarketSign=
    ++ query AAPL regularMarketPrice
    ++ jq -r '.[] | select (.symbol == "AAPL") | .regularMarketPrice'
    ++ echo '[' '{' '"language":' '"en-US",' '"region":' '"US",' '"quoteType":' '"EQUITY",' '"quoteSourceName":' '"Nasdaq' Real Time 'Price",' '"exchange":' '"NMS",' '"market":' '"us_market",' '"preMarketChange":' 3.1399994, '"preMarketChangePercent":' 1.4535688, '"exchangeTimezoneName":' '"America/New_York",' '"regularMarketPreviousClose":' 216.02, '"preMarketPrice":' 219.16, '"preMarketTime":' 1539955799, '"gmtOffSetMilliseconds":' -14400000, '"sourceInterval":' 15, '"exchangeTimezoneShortName":' '"EDT",' '"marketState":' '"REGULAR",' '"tradeable":' true, '"regularMarketChangePercent":' 1.7695096, '"esgPopulated":' false, '"regularMarketPrice":' 219.8425, '"regularMarketTime":' 1539957436, '"regularMarketChange":' 3.8224945, '"exchangeDataDelayedBy":' 0, '"fullExchangeName":' '"NasdaqGS",' '"symbol":' '"AAPL"' '}' ']'
  • price=219.8425
    ++ query AAPL regularMarketChange
    ++ jq -r '.[] | select (.symbol == "AAPL") | .regularMarketChange'
    ++ echo '[' '{' '"language":' '"en-US",' '"region":' '"US",' '"quoteType":' '"EQUITY",' '"quoteSourceName":' '"Nasdaq' Real Time 'Price",' '"exchange":' '"NMS",' '"market":' '"us_market",' '"preMarketChange":' 3.1399994, '"preMarketChangePercent":' 1.4535688, '"exchangeTimezoneName":' '"America/New_York",' '"regularMarketPreviousClose":' 216.02, '"preMarketPrice":' 219.16, '"preMarketTime":' 1539955799, '"gmtOffSetMilliseconds":' -14400000, '"sourceInterval":' 15, '"exchangeTimezoneShortName":' '"EDT",' '"marketState":' '"REGULAR",' '"tradeable":' true, '"regularMarketChangePercent":' 1.7695096, '"esgPopulated":' false, '"regularMarketPrice":' 219.8425, '"regularMarketTime":' 1539957436, '"regularMarketChange":' 3.8224945, '"exchangeDataDelayedBy":' 0, '"fullExchangeName":' '"NasdaqGS",' '"symbol":' '"AAPL"' '}' ']'
  • diff=3.8224945
    ++ query AAPL regularMarketChangePercent
    ++ echo '[' '{' '"language":' '"en-US",' '"region":' '"US",' '"quoteType":' '"EQUITY",' '"quoteSourceName":' '"Nasdaq' Real Time 'Price",' '"exchange":' '"NMS",' '"market":' '"us_market",' '"preMarketChange":' 3.1399994, '"preMarketChangePercent":' 1.4535688, '"exchangeTimezoneName":' '"America/New_York",' '"regularMarketPreviousClose":' 216.02, '"preMarketPrice":' 219.16, '"preMarketTime":' 1539955799, '"gmtOffSetMilliseconds":' -14400000, '"sourceInterval":' 15, '"exchangeTimezoneShortName":' '"EDT",' '"marketState":' '"REGULAR",' '"tradeable":' true, '"regularMarketChangePercent":' 1.7695096, '"esgPopulated":' false, '"regularMarketPrice":' 219.8425, '"regularMarketTime":' 1539957436, '"regularMarketChange":' 3.8224945, '"exchangeDataDelayedBy":' 0, '"fullExchangeName":' '"NasdaqGS",' '"symbol":' '"AAPL"' '}' ']'
    ++ jq -r '.[] | select (.symbol == "AAPL") | .regularMarketChangePercent'
  • percent=1.7695096
  • '[' 3.8224945 == 0 ']'
  • echo 3.8224945
  • grep -q '^-'
  • color='\e[32m'
  • printf '%-10s\e[1;37m%8.2f\e[00m' AAPL 219.8425
    ./ticker.sh: line 72: printf: 219.8425: invalid number
    AAPL 0,00`

@pstadler pstadler reopened this Oct 19, 2018
@pstadler pstadler added bug and removed invalid labels Oct 19, 2018
@pstadler
Copy link
Owner

can you try with LC_NUMERIC=en_US.UTF-8?

@kallekutta
Copy link
Author

It works, thank you!

pstadler added a commit that referenced this issue Oct 19, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants