Junior
Como converter uma string em um número inteiro e vice-versa?
sobes.tech IA
Resposta da IA
Para converter uma string em um número inteiro, utiliza-se o pacote strconv, a função Atoi ou ParseInt. Para converter um número inteiro em string, também se usa o pacote strconv, a função Itoa ou FormatInt.
import "strconv"
func main() {
// Conversão de string para número
strNum := "123"
intNum, err := strconv.Atoi(strNum) // Atoi devolve um int e um erro
if err != nil {
// tratamento do erro
}
intNum64, err := strconv.ParseInt("456", 10, 64) // ParseInt devolve um int64, base, tamanho em bits
if err != nil {
// tratamento do erro
}
// Conversão de número para string
numToStr := 789
strResult := strconv.Itoa(numToStr) // Itoa devolve uma string
num64ToStr := int64(1011)
strResult64 := strconv.FormatInt(num64ToStr, 10) // FormatInt devolve uma string, base
}
Funções principais:
| Função | Descrição | Valor devolvido | Pacote |
|---|---|---|---|
Atoi(s string) |
Converte uma string em um número inteiro decimal. | (int, error) |
strconv |
ParseInt(s string, base int, bitSize int) |
Converte uma string em um número inteiro de base e tamanho em bits especificados. | (int64, error) |
strconv |
Itoa(i int) |
Converte um número inteiro decimal em string. | string |
strconv |
FormatInt(i int64, base int) |
Converte um número inteiro de tamanho em bits em uma string com a base especificada. | string |
strconv |
Atoi é uma abreviação conveniente para ParseInt(s, 10, 0) com conversão do resultado para int. Itoa é uma abreviação para FormatInt(int64(i), 10).
Ao converter uma string em número, é importante tratar erros, pois a string pode conter caracteres não numéricos ou exceder o tamanho do tipo de dado.