To Number

Parses the input as a number. yq will try to parse values as an int first, failing that it will try float. Values that already ints or floats will be left alone.

Converts strings to numbers

Given a sample.yml file of:

- "3"
- "3.1"
- "-1e3"

then

yq '.[] | to_number' sample.yml

will output

3
3.1
-1e3

Doesn't change numbers

Given a sample.yml file of:

- 3
- 3.1
- -1e3

then

yq '.[] | to_number' sample.yml

will output

3
3.1
-1e3

Cannot convert null

Running

yq --null-input '.a.b | to_number'

will output

Error: cannot convert node value [null] at path a.b of tag !!null to number

Last updated