Formatação numérica em sistema operacional Ubuntu não brasileiro

Publicado por Rogerio J. Gentil em 02/05/2011

[ Hits: 9.080 ]

 


Formatação numérica em sistema operacional Ubuntu não brasileiro



Utilizando um sistema operacional Ubuntu que não esteja em Português (BR) (no meu caso está em English) e depois de compilar o código Java com o trecho:

String s = String.format("%.d", 1000000000);

E executá-lo, é exibida a seguinte mensagem:

Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '.'


Me deparei com esse problema utilizando o livro "Use a cabeça - Java, 2ª ed." traduzido. Este aparente problema na verdade está relacionado a configuração do sistema e impressão do livro traduzido para português.

Para corrigir isto, siga os procedimentos a seguir:

1. Verifique se a formatação de números, datas e moeda está configurada como "Português (Brasil)" em "System > Administration > Language Support", aba "Text". Reinicie o sistema caso tenha alterado esta configuração.

2. Altere o trecho do código substituindo ponto (.) por vírgula (,):

String s = String.format("%,d", 1000000000);

3. Compile e execute o código novamente.

A saída de texto será:

1.000.000.000


Neste caso, o separador decimal padrão do Java é o ponto(.) e a vírgula (,) é o separador de milhares. Logo, a versão traduzida do livro nos conduz ao erro. Deve haver outras maneiras de se contornar isso pelo que li na internet, mas fica aí a dica.

Outras dicas deste autor

Spyware Terminator - Antispyware gratuito para uso doméstico / comercial

Java no Ubuntu - Atualização para quem instalou à moda antiga

Iptables - Especificando máscara de rede nas regras

Leitura recomendada

Instalando o Java Studio Creator no Debian

Treinamento gratuito online de Java

Eclipse Helios: Resolvendo problemas com o proxy

Netbeans 6 vs OpenSuSE 10.3

JDeveloper - Inicializando e alterando o idioma para Português

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário