Junior
Kā pārvērst virkni veselos skaitļos un otrādi?
sobes.tech AI
Atbilde no AI
Līnijas pārvēršana par veselu skaitli izmanto paketi strconv, funkciju Atoi vai ParseInt. Vesela skaitļa pārvēršana atpakaļ uz virkni arī tiek veikta ar paketi strconv, funkciju Itoa vai FormatInt.
import "strconv"
func main() {
// Līnijas pārvēršana skaitlī
strNum := "123"
intNum, err := strconv.Atoi(strNum) // Atoi atgriež int un error
if err != nil {
// kļūdas apstrāde
}
intNum64, err := strconv.ParseInt("456", 10, 64) // ParseInt atgriež int64, bāzi, bitu skaitu
if err != nil {
// kļūdas apstrāde
}
// Skaitļa pārvēršana uz virkni
numToStr := 789
strResult := strconv.Itoa(numToStr) // Itoa atgriež string
num64ToStr := int64(1011)
strResult64 := strconv.FormatInt(num64ToStr, 10) // FormatInt atgriež string, bāzi
}
Galvenās funkcijas:
| Funkcija | Apraksts | Atgrieztā vērtība | Pakete |
|---|---|---|---|
Atoi(s string) |
Pārvērš virkni decimāldaļā vesela skaitļa. | (int, error) |
strconv |
ParseInt(s string, base int, bitSize int) |
Pārvērš virkni noteiktā bāzē un bitu skaitā par veselu skaitli. | (int64, error) |
strconv |
Itoa(i int) |
Pārvērš decimāldaļā veselu skaitli uz virkni. | string |
strconv |
FormatInt(i int64, base int) |
Pārvērš veselu skaitli noteiktā bāzē uz virkni. | string |
strconv |
Atoi ir ērtāks īsceļš uz ParseInt(s, 10, 0) ar rezultāta pārvēršanu uz int. Itoa ir īsceļš uz FormatInt(int64(i), 10).
Pārvēršot virkni uz skaitli, ir svarīgi apstrādāt kļūdas, jo virkne var saturēt ne skaitliskus simbolus vai pārsniegt datu tipa izmēru.