mirror of
https://github.com/gohugoio/hugoDocs.git
synced 2025-09-14 02:47:51 -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
|
||||
```
|
||||
|
||||
{{% 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