com.arch.util.br.FormataNumeroUtils Maven / Gradle / Ivy
package com.arch.util.br;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.Locale;
/**
*
* Formatacao de tipos numericos
*
* @author Wagner
* @since 1.0.12
*/
public class FormataNumeroUtils {
private static final Locale LOCAL = new Locale("pt", "BR");
/**
* Formata tipos numericos para o formato de moeda com separador de milhar e decimal
*
* @param valor Number: Numero para ser formatado (BigDecimal, Double, Float, Long, Integer) Ex: 12345.59
* @return String - Valor formatado Ex: 12.345,50
**/
public static String formataMoeda(Number valor) {
return formata("#,##0.00", valor);
}
/**
* Formata tipos numericos para o formato de moeda com separador de milhar
*
* @param valor Number: Numero para ser formatado (BigDecimal, Double, Float, Long, Integer) Ex: 12.345
* @return String - Valor formatado Ex: 12.345,50
* @since 1.0.15
**/
public static String formataInteiro(Number valor) {
return formata("#,##0", valor);
}
/**
* Formata tipos numericos para o a mask informada no parametro
*
* @param mask String - Mascara a ser aplicada Ex: dd/MM/yyyy
* @param valor Number: Numero para ser formatado (BigDecimal, Double, Float, Long, Integer) Ex: 12345.59
* @return String - Valor formatado Ex: 12.345,50
**/
public static String formata(String mask, Number valor) {
DecimalFormat decimalFormat = new DecimalFormat(mask, new DecimalFormatSymbols(LOCAL));
return decimalFormat.format(valor);
}
public static String formataPercentual(Number valor) {
return formata("##0.00", valor);
}
public static String formataTaxa(Number valor) {
return formata("##0.0000", valor);
}
}