package br.com.caelum.stella.gateway.core; import java.math.BigDecimal; import java.math.RoundingMode; /** * Classe utilitaria apenas para formatar os valores que chegam das integrações do VISA. * * @author Alberto * */ public class BigDecimalFormatter { public final static int SCALE = 2; public final static RoundingMode ROUNDING_MODE = RoundingMode.HALF_EVEN; /** * * @param priceInCents valor em string e em centesimos. Ex: 2050=20.50 * @return */ public BigDecimal stringInCentsToBigDecimal(String priceInCents) { return new BigDecimal(priceInCents).divide(new BigDecimal(100)).setScale(SCALE, ROUNDING_MODE); } public String bigDecimalToStringInCents(BigDecimal value){ return String.format("%.0f", value.multiply(new BigDecimal(100))); } /** * * @param valor * @return retorna o BigDecimal normalizado com scale=2 e RoundingMode=HALF_EVEN */ public BigDecimal normalizaBigDecimal(BigDecimal valor){ return valor.setScale(SCALE,ROUNDING_MODE); } }