Junior
142
questionbank
Как преобразовать строку в целое число и наоборот?
Ответ от нейросети
sobes.tech AI
Для преобразования строки в целое число используется пакет 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).
При преобразовании строки в число важно обрабатывать ошибки, так как строка может содержать нечисловые символы или превышать размерность типа данных.