Junior
Ako previesť reťazec na celé číslo a naopak?
sobes.tech AI
Odpoveď od AI
Na prevod reťazca na celé číslo sa používa balík strconv, funkcia Atoi alebo ParseInt. Na prevod celého čísla na reťazec sa tiež používa balík strconv, funkcia Itoa alebo FormatInt.
import "strconv"
func main() {
// Prevod reťazca na číslo
strNum := "123"
intNum, err := strconv.Atoi(strNum) // Atoi vracia int a error
if err != nil {
// spracovanie chyby
}
intNum64, err := strconv.ParseInt("456", 10, 64) // ParseInt vracia int64, základ, veľkosť v bitoch
if err != nil {
// spracovanie chyby
}
// Prevod čísla na reťazec
numToStr := 789
strResult := strconv.Itoa(numToStr) // Itoa vracia string
num64ToStr := int64(1011)
strResult64 := strconv.FormatInt(num64ToStr, 10) // FormatInt vracia string, základ
}
Hlavné funkcie:
| Funkcia | Popis | Vrátená hodnota | Balík |
|---|---|---|---|
Atoi(s string) |
Konvertuje reťazec na desatinné celé číslo. | (int, error) |
strconv |
ParseInt(s string, base int, bitSize int) |
Konvertuje reťazec na celé číslo s danou základňou a veľkosťou v bitoch. | (int64, error) |
strconv |
Itoa(i int) |
Konvertuje desatinné celé číslo na reťazec. | string |
strconv |
FormatInt(i int64, base int) |
Konvertuje celé číslo s danou veľkosťou v bitoch na reťazec s danou základňou. | string |
strconv |
Atoi je pohodlná skratka pre ParseInt(s, 10, 0) s výsledkom prevedeným na int. Itoa je skratka pre FormatInt(int64(i), 10).
Pri konverzii reťazca na číslo je dôležité spracovať chyby, pretože reťazec môže obsahovať nečíselné znaky alebo prekročiť veľkosť typu dát.