Como converter BigDecimals para Cordas em Java
Em Java, o BigDecimal classe tem vários métodos que permitem converter BigDecimal valores para cordas, duplas, ou inteiros. Dê uma olhada no seguinte para obter uma lista dos métodos de conversão.
Método | Explicação |
---|---|
dupla doubleValue () | Retorna o valor deste BigDecimalcomo um duplo. |
int intValue () | Retorna o valor deste BigDecimalcomo um int. |
longa longValue () | Retorna o valor deste BigDecimalcomo um longo. |
toPlainString String () | Retorna uma representação de seqüência deste BigDecimal que não usa Notação Científica. |
toString String () | Retorna uma representação de seqüência deste BigDecimal que usa ifnecessary notação científica. |
Na maioria dos casos, a única razão para converter um BigDecimal para uma duplo é assim que você pode usar o duplo com o NumberFormat classe para formatar o valor para a saída. Contanto que você não faça quaisquer cálculos intermediários com a duplo, você não vai encontrar quaisquer erros de precisão, a menos que os números são grandes. (Você começa a ter problemas em cerca de 13 dígitos).
Aqui está um trecho de código que converte um BigDecimal objeto nomeado imposto sobre vendas para uma duplo e utiliza-o com o NumberFormat classe:
NumberFormat cf = NumberFormat.getCurrencyInstance () - double taxD = salesTax.doubleValue () - System.out.println (cf.format (taxD)) -
Você também pode usar o para sequenciar método para formatar um BigDecimal como uma string, mas este método não adiciona vírgulas ou quaisquer outros detalhes de formatação. Note-se também que este método às vezes muda para notação exponencial se o número é grande. Para evitar isso, você pode usar o toPlainString método em vez disso.