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étodoExplicaçã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.

menu