Vídeo: Dicas de como formatar a saída de números decimais em Java 2024
Em Java, a classe BigDecimal possui vários métodos que permitem converter valores BigDecimal em strings, duplos ou inteiros. Dê uma olhada no seguinte para obter uma lista dos métodos de conversão.
Método | Explicação |
---|---|
double doubleValue () | Retorna o valor deste BigDecimal
como um duplo. |
int intValue () | Retorna o valor deste BigDecimal
como um int. |
long longValue () | Retorna o valor deste BigDecimal
como um longo. |
String toPlainString () | Retorna uma representação de cadeia deste BigDecimal que não usa notação científica
. |
String toString () | Retorna uma representação de string deste BigDecimal que usa notação científica se
for necessário. |
Na maioria dos casos, o único motivo para converter um BigDecimal em um duplo é assim que você pode usar o duplo com a classe NumberFormat para formatar o valor para a saída. Enquanto você não fizer cálculos intermediários com o dobro, você não encontrará erros de precisão a menos que os números sejam grandes. (Você começa a ter problemas em cerca de 13 dígitos.)
Aqui está um fragmento de código que converte um objeto BigDecimal chamado salesTax para um duplo e o usa com a classe NumberFormat:
NumberFormat cf = NumberFormat. getCurrencyInstance (); double taxD = salesTax. doubleValue (); Sistema. Fora. println (cf. format (taxD));
Você também pode usar o método toString para formatar um BigDecimal como uma seqüência de caracteres, mas esse método não adiciona vírgulas ou qualquer outra legenda de formatação. Observe também que esse método às vezes altera a notação exponencial se o número for grande. Para evitar isso, você pode usar o método toPlainString.