DEV Community

Adilson Oliveira
Adilson Oliveira

Posted on

Formatar moeda de forma simples e rápida em JAVA

A formatação de moeda é uma tarefa comum em aplicativos Java que lidam com transações financeiras. A linguagem Java fornece uma classe java.text.NumberFormat para ajudar na formatação de valores numéricos, incluindo valores monetários. Neste artigo, vamos ver como usar a classe NumberFormat para formatar moeda.

Passo 1: Importe a classe NumberFormat
Para usar a classe NumberFormat, primeiro você precisa importá-la no seu código Java. Adicione a seguinte linha no início do seu código:

import java.text.NumberFormat;

Enter fullscreen mode Exit fullscreen mode

Passo 2: Crie uma instância de NumberFormat
Para formatar um valor monetário, você precisa criar uma instância da classe NumberFormat. A classe NumberFormat é uma classe abstrata, portanto, você não pode criar uma instância diretamente. Em vez disso, você pode usar um dos métodos estáticos fornecidos pela classe NumberFormat para criar uma instância. Por exemplo, o método getCurrencyInstance() retorna uma instância da classe NumberFormat que pode ser usada para formatar valores monetários. Aqui está um exemplo:

NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();

Enter fullscreen mode Exit fullscreen mode

Passo 3: Formate o valor monetário
Depois de criar uma instância de NumberFormat, você pode usá-la para formatar um valor monetário. O método format() da classe NumberFormat recebe um valor numérico como parâmetro e retorna uma string formatada que representa o valor monetário. Aqui está um exemplo:

double value = 1234.56;
String formattedValue = currencyFormat.format(value);
System.out.println(formattedValue);

Enter fullscreen mode Exit fullscreen mode

O resultado desse código seria:

R$1.234,56

Enter fullscreen mode Exit fullscreen mode

O símbolo da moeda e o formato da string podem variar de acordo com a localidade padrão do sistema.

Passo 4: Personalize o formato
Você pode personalizar o formato da string formatada usando os métodos fornecidos pela classe NumberFormat. Por exemplo, o método setMaximumFractionDigits() define o número máximo de dígitos após a vírgula decimal na string formatada. Aqui está um exemplo:

currencyFormat.setMaximumFractionDigits(0);
String formattedValue = currencyFormat.format(value);
System.out.println(formattedValue);

Enter fullscreen mode Exit fullscreen mode

O resultado desse código seria:

R$1.235
Enter fullscreen mode Exit fullscreen mode

Isso define o número máximo de dígitos fracionários como zero, o que arredonda o valor para o inteiro mais próximo.

Conclusão
A classe NumberFormat fornece uma maneira fácil de formatar valores monetários em Java. Com algumas linhas de código, você pode criar uma instância de NumberFormat, formatar um valor monetário e personalizar o formato da string formatada. Usando a classe NumberFormat, você pode garantir que seus valores monetários sejam apresentados de forma consistente e fácil de entender para seus usuários.

Top comments (0)