Junior
Jak převést řetězec na celé číslo a naopak?
sobes.tech AI
Odpověď od AI
Pro převod řetězce na celé číslo se používá balíček strconv, funkce Atoi nebo ParseInt. Pro převod celého čísla na řetězec se také používá balíček strconv, funkce Itoa nebo FormatInt.
import "strconv"
func main() {
// Převod řetězce na číslo
strNum := "123"
intNum, err := strconv.Atoi(strNum) // Atoi vrací int a error
if err != nil {
// zpracování chyby
}
intNum64, err := strconv.ParseInt("456", 10, 64) // ParseInt vrací int64, základ, velikost v bitech
if err != nil {
// zpracování chyby
}
// Převod čísla na řetězec
numToStr := 789
strResult := strconv.Itoa(numToStr) // Itoa vrací string
num64ToStr := int64(1011)
strResult64 := strconv.FormatInt(num64ToStr, 10) // FormatInt vrací string, základ
}
Hlavní funkce:
| Funkce | Popis | Vrácená hodnota | Balíček |
|---|---|---|---|
Atoi(s string) |
Převádí řetězec na desetinné celé číslo. | (int, error) |
strconv |
ParseInt(s string, base int, bitSize int) |
Převádí řetězec na celé číslo s danou základem a velikostí v bitech. | (int64, error) |
strconv |
Itoa(i int) |
Převádí desetinné celé číslo na řetězec. | string |
strconv |
FormatInt(i int64, base int) |
Převádí celé číslo s danou velikostí v bitech na řetězec s danou základem. | string |
strconv |
Atoi je pohodlná zkratka pro ParseInt(s, 10, 0) s výsledkem převedeným na int. Itoa je zkratka pro FormatInt(int64(i), 10).
Při převodu řetězce na číslo je důležité zpracovat chyby, protože řetězec může obsahovat nečíselné znaky nebo překročit velikost datového typu.