[Ajuda] Problemas com o método estático String.format

3 respostas
InsaneChess

Pessoal, boa tarde.
Estou estudando o método estático "format" da classe String, porém estou fazendo igual ao livro e na hora de execução acusa erro.
Não estou conseguindo arrumar de jeito nenhum, alguem pode me dar um auxilio?
Segue três exemplos abaixo, provavelmente devo ter esquecido algum comando...

public class Principal {
	public static void main (String[] args) {
        int A = 12345; double B = 555.55;
        
        String Teste = String.format("Os numeros sao %.d",134434);
        System.out.println(Teste);
        
        String Teste2 = String.format("Os numeros sao %,2f",13443,9874);
        System.out.println(Teste2); 
   
        String Teste3 = String.format("Os numeros sao %.d e %,2f",A,B);
        System.out.println(Teste3); 
	}   
	
}
O erro na hora de execução:
Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '.'
	at java.util.Formatter.checkText(Unknown Source)
	at java.util.Formatter.parse(Unknown Source)
	at java.util.Formatter.format(Unknown Source)
	at java.util.Formatter.format(Unknown Source)
	at java.lang.String.format(Unknown Source)
	at Principal.main(Principal.java:10)

Obrigado Pessoal!!!

3 Respostas

M

“%.d” é um formatador inválido. Para mais informação veja: http://download.oracle.com/javase/tutorial/java/data/numberformat.html
http://download.oracle.com/javase/tutorial/essential/io/formatting.html

InsaneChess

OK, irei dar uma olhada agorinha mesmo.
Desculpa, mais então quer dizer que a segunda edição do Java, Use a cabeça! Está com erro ou desatualizada quando fala sobre a formataçao na página 214?
Caso, alguem tenha o livro e possa conferir pra mim…

Obrigado pela ajuda Marco, irei olhar agora mesmo.

R

Também percebi esse erro no livro mas se você,trocar o ponto pela virgula irá funcionar…
Lá onde tem : "%.d significa “insirapontos e formate o número como um inteiro decimal” “.
Trocando o ponto pela virgula… —>”%,d significa “insirapontos e formate o número como um inteiro decimal” ".
Deve ter sido erro de digitação

Criado 12 de setembro de 2010
Ultima resposta 26 de out. de 2010
Respostas 3
Participantes 3