Objetivos
Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.
into
try_into
try_form
str hex <-> int
int <-> bin
Erros Result
Conversão
Rust utiliza POO: Traits que devem ser implementadas
para que a conversão entre os tipos de dados possam ser realizadas. Os tipos primitivos de dados
já possuem suporte às traits de conversão.
Nesta parte vamos ver as macros mais comuns e métodos comuns que podem ser utilizados na
conversão de dados:
- format!
- to_string
- from_string
- parse
- from
- into
- try_into
- try_from
format!
A forma mais simples de conversão de tipos de dados primitivos para string é feita utilizando
a macro format! como exemplificado logo abaixo.
Sintaxe:
format!(string_formatada, <argumentos>)
Retorno:
String contendo <argumentos> convertidos
Exemplo 1
fn main()
{
//format!
let booleano = true;
println!("{:?}",format!("{}", booleano)); // "true"
println!("{:?}",format!("{:0>5}", 123));
}
Saída
"true"
"123"
Outra forma de conversão de tipos primitivos para o tipo String é utilizando o método to_string
como mostrado na sintaxe abaixo:
Sintaxe:
nome_variavel.to_string()
Retorno:
String contendo nome variável convertido para string
Exemplo 2
fn main()
{
//to_string
let num1 = 10; //i8, i16 ou i32
let num2 = 1.99; //f16 ou f32
println!("{}", num1.to_string()); //inteiro
println!("{}", num2.to_string()); //float
println!("{}", true.to_string()); //float
}
Saída
10
1.99
true
O método from_str é usado para converter String ou &str(slice) para outro tipo de dado
primitivo de destino. Esse método retorna um Result<T, E>, pois o parse durante a conversão
pode falhar.
Sintaxe
tipo_destino::from_str(&variavel_string)
Onde
variavel_string: string contendo valor para conversão
tipo_destino: tipo de dado de destino
Retorno
Result<tipo_destino, tipo_erro> contendo Ok com valor convertido ou Err contendo erro ocorrido.
Exemplo 3
use std::str::FromStr;
fn main()
{
//FromString
let num2 = "1.99"; //f16, f32
let res = f32::from_str(&num2); //inteiro
match res {
Ok(val) => println!("{}", val),
Err(err) => println!("{}", err),
}
}
Saída
1.99
Histórico de atualizações
- 16/08/2026 - versão inicial: format!, to_string e from_str
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.