Junior
Kaip paversti eilutę į sveikąjį skaičių ir atvirkščiai?
sobes.tech AI
Atsakymas iš AI
Konvertuoti eilutę į sveikąjį skaičių naudojamas paketas strconv, funkcija Atoi arba ParseInt. Konvertuojant sveikąjį skaičių į eilutę taip pat naudojamas paketas strconv, funkcija Itoa arba FormatInt.
import "strconv"
func main() {
// Eilutės konvertavimas į skaičių
strNum := "123"
intNum, err := strconv.Atoi(strNum) // Atoi grąžina int ir error
if err != nil {
// klaidos apdorojimas
}
intNum64, err := strconv.ParseInt("456", 10, 64) // ParseInt grąžina int64, pagrindą, bitų skaičių
if err != nil {
// klaidos apdorojimas
}
// Skaičiaus konvertavimas į eilutę
numToStr := 789
strResult := strconv.Itoa(numToStr) // Itoa grąžina string
num64ToStr := int64(1011)
strResult64 := strconv.FormatInt(num64ToStr, 10) // FormatInt grąžina string, pagrindą
}
Pagrindinės funkcijos:
| Funkcija | Aprašymas | Grąžinama reikšmė | Paketas |
|---|---|---|---|
Atoi(s string) |
Konvertuoja eilutę į dešimtainį sveikąjį skaičių. | (int, error) |
strconv |
ParseInt(s string, base int, bitSize int) |
Konvertuoja eilutę į sveikąjį skaičių pagal nurodytą pagrindą ir bitų dydį. | (int64, error) |
strconv |
Itoa(i int) |
Konvertuoja dešimtainį sveikąjį skaičių į eilutę. | string |
strconv |
FormatInt(i int64, base int) |
Konvertuoja sveikąjį skaičių pagal nurodytą pagrindą į eilutę. | string |
strconv |
Atoi yra patogus trumpinys ParseInt(s, 10, 0) rezultatui ir konvertuoja rezultatą į int. Itoa yra trumpinys FormatInt(int64(i), 10).
Konvertuojant eilutę į skaičių, svarbu apdoroti klaidas, nes eilutė gali turėti ne skaitinius simbolius arba viršyti duomenų tipo dydį.