Eu vi essa pergunta no Javaranch, mais eu não conseguir assimilar bem a resposta, tentei procura no forum mais o sistema de busca esta realmente estranho, além disso eu emprestei meu livro da kathy ~~, se alguém achar um link com essa explicação mais detalhada é so postar que eu fecho a pergunta, obrigado.
public class Slice {
public static void main(String[] args) {
String s = "987.123456";
double d = 987.123456d;
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(5);
System.out.println(nf.format(d)+ " ");
try{
System.out.println(nf.parse(s));
}
catch (Exception ex){
System.out.println("got exc");
}
}
}
Resposta certa deu:
987.12346
987.123456
Meu compilador:
987,12346
987123456
Minha pergunta, porque esta linha System.out.println(nf.format(d)+ " ");
imprimi 987,12346 quando eu esperava alguma coisa como isso: 987,12345 ?