Sobes.tech
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.