mirror of
https://github.com/gohugoio/hugoDocs.git
synced 2025-09-14 17:14:45 -04:00
Mention the significance of leading 0 in int fn string input
https://discourse.gohugo.io/t/unable-to-cast-09-of-type-string-to-int/9614
This commit is contained in:
parent
07f4987556
commit
daf6f51c0b
@ -24,3 +24,28 @@ Useful for turning strings into numbers.
|
|||||||
```
|
```
|
||||||
{{ int "123" }} → 123
|
{{ int "123" }} → 123
|
||||||
```
|
```
|
||||||
|
|
||||||
|
{{% note "Usage Note" %}}
|
||||||
|
If the input string is supposed to represent a decimal number, and if it has
|
||||||
|
leading 0's, then those 0's will have to be removed before passing the string
|
||||||
|
to the `int` function, else that string will be tried to be parsed as an octal
|
||||||
|
number representation.
|
||||||
|
|
||||||
|
The [`strings.TrimLeft` function](/functions/strings.trimleft/) can be used for
|
||||||
|
this purpose.
|
||||||
|
|
||||||
|
```
|
||||||
|
{{ int ("0987" | strings.TrimLeft "0") }}
|
||||||
|
{{ int ("00987" | strings.TrimLeft "0") }}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Explanation**
|
||||||
|
|
||||||
|
The `int` function eventually calls the `ParseInt` function from the Go library
|
||||||
|
`strconv`.
|
||||||
|
|
||||||
|
From its [documentation](https://golang.org/pkg/strconv/#ParseInt):
|
||||||
|
|
||||||
|
> the base is implied by the string's prefix: base 16 for "0x", base 8 for "0",
|
||||||
|
> and base 10 otherwise.
|
||||||
|
{{% /note %}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user