Pergunta

Eu tenho um casal cujo valor é 10.000.000,00 (milhões dez). Eu tenho que convertê-lo para um String. Ao usar o método toString Estou recebendo o String "1.0E7" o que é correto seguindo especificação. necessidade Infelizmente I o String "10.000.000,00" (ou o equivalente dependendo da localidade).

Como conseguir isso?

Outras dicas

Além do formatador, você pode considerar o uso da classe java.math.BigDecimal para representar números com precisão.

Os cálculos em que é necessária uma precisão absoluta, tais como cálculos financeiros, são melhor realizadas com BigDecimal. Matemática de ponto flutuante é melhor para a engenharia, gráficos e outros cálculos matemáticos onde alguns precisão pode ser sacrificado para a velocidade.

  public static void main(String[] args) throws ParseException {
    double aDouble = 10000000.00;
    DecimalFormat nf = (DecimalFormat) NumberFormat.getInstance(Locale.US);
    String aString = Double.toString(aDouble);
    System.out.println(nf.parse(aString));
  }

Olhe em "DecimalFormat". Ele permite que você formatar a saída praticamente como quiser!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top