Formatos numéricos e decimais
Largura, precisão e preenchimento
Formatos numéricos e decimais é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 4 aulas no total.
Formatação de Números
Os números geralmente precisam de um tratamento especial: uma quantidade fixa de casas decimais, preenchimento ou um sinal. Os especificadores de printf oferecem esse controle.
Esta lição concentra-se em %d para números inteiros e %f para valores de ponto flutuante.
O Especificador %f
%f formata um número de ponto flutuante, como um double ou float.
Por padrão, %f mostra seis dígitos depois do ponto decimal, o que geralmente é mais do que você deseja.
public class Main {
public static void main(String[] args) {
System.out.printf("%f\n", 3.14);
}
}Controlando Casas Decimais com .2
Adicione uma precisão, como .2, entre o % e o f para limitar as casas decimais. %.2f significa “duas casas depois do ponto”.
O valor é arredondado, não apenas cortado.
public class Main {
public static void main(String[] args) {
System.out.printf("%.2f\n", 3.14159);
}
}Arredondamento com printf
A precisão arredonda para o valor mais próximo. %.0f não mostra casas decimais e arredonda para um número inteiro.
Observe que isso altera apenas a forma como o número é exibido, não o valor armazenado.
public class Main {
public static void main(String[] args) {
System.out.printf("%.0f\n", 2.7);
}
}Exemplo com Dinheiro
Valores monetários quase sempre usam duas casas decimais. %.2f é perfeito para preços.
Combine-o com texto para criar uma linha organizada.
public class Main {
public static void main(String[] args) {
double price = 9.5;
System.out.printf("Total: $%.2f\n", price);
}
}Largura Mínima
Um número entre % e a letra define uma largura mínima. %5d imprime o número inteiro em um campo com pelo menos 5 caracteres de largura, preenchido com espaços à esquerda.
Este é o primeiro passo para criar colunas alinhadas.
public class Main {
public static void main(String[] args) {
System.out.printf("[%5d]\n", 42);
}
}Largura com Casas Decimais
Largura e precisão podem ser combinadas: %8.2f significa “pelo menos 8 caracteres de largura, com 2 casas decimais”.
A largura conta os dígitos, o ponto decimal e quaisquer espaços de preenchimento.
public class Main {
public static void main(String[] args) {
System.out.printf("[%8.2f]\n", 3.5);
}
}Preenchimento com Zeros
Coloque um 0 logo depois de % para preencher com zeros em vez de espaços. %05d preenche o lado esquerdo com zeros.
É ótimo para identificadores de tamanho fixo ou para dígitos de relógio, como 09.
public class Main {
public static void main(String[] args) {
System.out.printf("%05d\n", 42);
}
}Separador de Milhares
O sinalizador de vírgula %,d agrupa os dígitos com separadores, tornando os números grandes mais fáceis de ler.
Ele também funciona com %f, por exemplo, %,.2f.
public class Main {
public static void main(String[] args) {
System.out.printf("%,d\n", 1000000);
}
}Exibindo o Sinal de Mais
O sinalizador + força a exibição de um sinal inicial, mesmo para números positivos. %+d imprime +5 em vez de 5.
Isso é útil para mostrar ganhos e perdas com clareza.
public class Main {
public static void main(String[] args) {
System.out.printf("%+d and %+d\n", 5, -3);
}
}Hexadecimal com %x
Além dos decimais, %x imprime um número inteiro em hexadecimal e %o, em octal.
Você usará principalmente %d e %f, mas é bom saber que existem outras bases numéricas.
public class Main {
public static void main(String[] args) {
System.out.printf("%x\n", 255);
}
}Verificação Rápida
Escolha o especificador correto.
Recapitulação
Agora você consegue controlar as casas decimais com %.2f, definir larguras como %5d, preencher com zeros usando %05d, agrupar com %,d e forçar sinais com %+d.
A seguir, você aprenderá a capturar texto formatado em uma String.
Perguntas Frequentes
A aula “Formatos numéricos e decimais” é grátis?
Sim — o texto completo de “Formatos numéricos e decimais” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 4 aulas no total.
O que vou aprender em “Formatos numéricos e decimais”?
Largura, precisão e preenchimento Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Java Academy?
Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Formatos numéricos e decimais”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Java Academy?
Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Noções básicas de printf
- Formatos numéricos e decimais
- String.format
- Alinhando tabelas