Sobes.tech
Junior

Kako pretvoriti niz u ceo broj i obrnuto?

sobes.tech АИ

Одговор од АИ

За претварање низа у цео број користи се пакет strconv, функција Atoi или ParseInt. За претварање целог броја у низ користи се такође пакет strconv, функција Itoa или FormatInt.

import "strconv"

func main() {
	// Претварање низа у број
	strNum := "123"
	intNum, err := strconv.Atoi(strNum) // Atoi враћа int и error
	if err != nil {
		// обрада грешке
	}

	intNum64, err := strconv.ParseInt("456", 10, 64) // ParseInt враћа int64, основу, битну димензију
	if err != nil {
		// обрада грешке
	}

	// Претварање броја у низ
	numToStr := 789
	strResult := strconv.Itoa(numToStr) // Itoa враћа string

	num64ToStr := int64(1011)
	strResult64 := strconv.FormatInt(num64ToStr, 10) // FormatInt враћа string, основу
}

Главне функције:

Функција Опис Враћена вредност Пакет
Atoi(s string) Претвара низ у децимално цело број. (int, error) strconv
ParseInt(s string, base int, bitSize int) Претвара низ у цело број са задатом основом и битном димензијом. (int64, error) strconv
Itoa(i int) Претвара децимално цело број у низ. string strconv
FormatInt(i int64, base int) Претвара цело број са задатом битном димензијом у низ са задатом основом. string strconv

Atoi је згодна скраћеница за ParseInt(s, 10, 0) са резултатом конвертованим у int. Itoa је скраћеница за FormatInt(int64(i), 10).

При претварању низа у број, важно је обрадити грешке, јер низ може садржати нечислове карактере или премашити димензију типа података.