Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Preenchimento e alinhamento
  2. Número
  3. Datahora
  4. Moeda
  5. Trait Display

A formatação de dados é essencial para a exibição de informações aos usuários de nossos programas. Para formatação básica de dados em Rust, podemos utilizar as macros listadas abaixo.

  1. format!
  2. print!
  3. println!
Sintaxe:
nome_macro(string_formatada,<argumentos>);

Para a formatação básica utilizando as macros acima, utilizamo o conhecido placeholder {} onde um valor para exibição será inserido.

Sintaxe:
"{}"
Exemplo 1
fn main() 
{
    print!("{}{}",1,2);
}
Saída
12

Os argumentos passados para a macro possuem seus índices associados. Esses índices também podem ser informados em seus placeholders de forma ordenada. Os argumentos serão inseridos de acordo com seus índices informados.

Exemplo 2
fn main() 
{
    let a = 1;
    let b = 2;
    
    print!("{0}{1}\n",a,b);
    print!("{1}{0}",1,2);
}
Saída
12
21

Além do uso visto acima de índices dos argumentos, também podemos usar os nomes de nossas variáveis de tipos de dados primitivos declarados dentro dos placeholder como abaixo:

Sintaxe
"{nome_variavel}"
Exemplo 3
fn main() 
{
    let a = 1;
    let b = 2;
    
    print!("{a}{b}");
}
Saída
param1:1 param2:1.99

Rust também suporta os caracteres de escape para quebra de linha, tabulação e outros. Os caracteres básicos são listados na tabela a seguir:

Tab. 2: Caracteres de escape
Caractere Impressão/Descrição
\n Quebra de linha
\t Tabulação
\x Caractere ascii até 7F
\u Caractere unicode \u{nnnn}
\\ Contra barra
\' Aspas
\" Aspas duplas
Exemplo 3
fn main() 
{
    println!("{}\n\"{}\"\t\'{}\'\n\\{}\n\x41",0,1,2,3);
    println!("\u{00a5} \u{03a6}");
}
Saída
0
1	2
\3
A
¥ Φ

Para preenchimento(Padding) à direita ou esquerda e também definição de tamanho de campo para exibição, utilizamos as próximas sintaxes:

Sintaxe
{:pc}
{:pac}
Onde
p: caractere para preenchimento. Padrão espaço vazio.
c: tamanho do campo.
a: alinhamento. > direita , < esquerda
Exemplo 4
fn main() 
{
    println!("{:05}|",10);
    println!("{:<5}|",10);
    println!("{:>5}|",10);
    println!("{:*<5}|",10);
    println!("{:*>5}|",10);
}
Saída
00010|
10   |
   10|
10***|
***10|
  1. 16/08/2026 - versão inicial: Placeholder, argumento indexado/nomeado e preenchimento