Olá Pessoal, eu estou com uma dúvida/dificuldade em algo que deve ser muito simples mas não sei nem como procurar isso no google, então venho pedir ajuda a vocês.
Tenho um valor double por exemplo 888888888888,124574124. Este valor estou formatando para que fique da seguinte forma: 888.888.888.888,12 - no entanto, eu armazeno este valor em String. Este valor eu desejo exibir na tabela, mas quando exibo, ele é representado automaticamente em forma de expoente. Eu mando exibir a saída da String no console e aparece todo o numero e no final E11.
Vi alguns casos na busca, no entanto, eu busco valores do banco de dados e estes valores podem vir com 1 casa, 10 casas, 15 casas. É possível fazer um tratamento padrão para todos?
Eu não entendi muito bem a sintaxe #,##.0,00 do exemplo abaixo:
DecimalFormat df = new DecimalFormat("#,##0.00", new DecimalFormatSymbols(LOCAL));
String s = df.format(value / 100.0);
System.out.println(s);
Alguem poderia me explicar? Como ficaria para meu caso visto que eu preciso de uma mascara que fique da seguinte forma:
Numero: 123456789.251536
Numero tratado: 123.456.789,25
Usar %f sem especificaçao de número de casas decimais depois da vírgula imprime exatamente 6 casas depois da vírgula.
Dê uma olhada no exemplo abaixo.
import java.util.*;
class TestePrintf {
public static void main (String[] args) {
// Note que um double tem precisao de apenas 15 casas decimais
double d = 888888888888.124574124;
String s = String.format ("O valor de 888888888888.124574124 eh %f", d);
System.out.println (s);
// Vai imprimir:
// O valor de 888888888888.124574124 eh 888888888888.124600
}
}