/**
* Converte uma String no formato decimal (valor de moeda, p. ex.) para um BigDecimal.
* Se a String for vazia ou se ocorrer uma exceção, retorna null
*
* @param valor
* @param locale - pegue o Locale desejado pelo método "getLocale..." do JavaUtils
* @return String
*/
public static BigDecimal convertStringDecimalToBigDecimal(String valor, Locale locale,
int minimoCasasDecimais, int maximoCasasDecimais) {
BigDecimal retorno = null;
if (JavaUtils.isStringNaoVazia(valor)) {
try {
NumberFormat formato = DecimalFormat.getNumberInstance(locale);
formato.setMinimumFractionDigits(minimoCasasDecimais);
formato.setMaximumFractionDigits(maximoCasasDecimais);
retorno = new BigDecimal(formato.parse(valor).doubleValue());
} catch (Throwable e) {
log.warn("JavaUtils.convertStringDecimalToBigDecimal() - Erro de " +
"conversao. Vai retornar null. Error: " + e);
}
}
return retorno;
}
Nenhum comentário:
Postar um comentário