mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
50 lines
701 B
Markdown
50 lines
701 B
Markdown
|
# 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:
|
||
|
```yaml
|
||
|
- "3"
|
||
|
- "3.1"
|
||
|
- "-1e3"
|
||
|
```
|
||
|
then
|
||
|
```bash
|
||
|
yq '.[] | to_number' sample.yml
|
||
|
```
|
||
|
will output
|
||
|
```yaml
|
||
|
3
|
||
|
3.1
|
||
|
-1e3
|
||
|
```
|
||
|
|
||
|
## Doesn't change numbers
|
||
|
Given a sample.yml file of:
|
||
|
```yaml
|
||
|
- 3
|
||
|
- 3.1
|
||
|
- -1e3
|
||
|
```
|
||
|
then
|
||
|
```bash
|
||
|
yq '.[] | to_number' sample.yml
|
||
|
```
|
||
|
will output
|
||
|
```yaml
|
||
|
3
|
||
|
3.1
|
||
|
-1e3
|
||
|
```
|
||
|
|
||
|
## Cannot convert null
|
||
|
Running
|
||
|
```bash
|
||
|
yq --null-input '.a.b | to_number'
|
||
|
```
|
||
|
will output
|
||
|
```bash
|
||
|
Error: cannot convert node value [null] at path a.b of tag !!null to number
|
||
|
```
|
||
|
|