Já implementei uma vez em Delphi um programinha pra fazer isso, infelizmente perdi o código fonte em uma das vezes em que deu problema no meu HD. De qualquer forma a dica que posso dar é explicar como fiz isso... o primeiro passo é ter sua estrutura com todas as Strings que serão necessárias pra formar o Extenso. Os números em extenso de 1-9, de 11-19, de 10-90, de 100-900(cem e cento) e outras que serão necessárias para fazer a ligação entre as palavras: " e ", " de ", " mil ", "milhão" Separe o numero a pôr por extenso em grupos de 3 dígitos. Exemplo: 123456,78. Separe-o em 123 456 78 e faça a alanise de cada grupo. Pegando "123" como ele tem 3 digitos nesse caso, voce vai na sua estrutura com as Strings das centenas e pega o texto equivalente ao digito 1. Repete o mesmo para a casa das dezenas e depois das unidades. Depois disso voce terá que identificar qual String de ligação terá que usar entre essas Strings. Nesse caso " e ". Mas ainda tem o detalhe que ainda terá que decidir entre "cem" e "cento", e tambem o tratamento diferenciado para quando o valor for entre 11 e 19. Depois que tiver o extenso de 123 e 456 é só descobrir qual texto usar pra ligar os dois. Como estamos tratando da casa de milhares então adicionamos " mil " entre os dois extensos anteriores. Nesse ponto tem as dificuldade de as vezes ter que usar " e "(123010,00), ", "(123456) ou " de "(um milhao de reais) ou dois milhões. O melhor modo de definir que Strings voce usara para ligar essas palavras é escrevendo muitos numeros por extenso e vendo suas variações. Espero ter ajudado de alguma forma =========================================== Francisco Deisimar Nobre Júnior Analista de Sistemas - CIT - M. Dias Branco ===========================================
-----Mensagem original----- De: Jose Carlos [mailto:[EMAIL PROTECTED]] Enviada em: quinta-feira, 5 de setembro de 2002 11:13 Para: [EMAIL PROTECTED] Assunto: Re: [java-list] Algoritimo Numero por Extenso Eis uma pergunta complicada... É necessário conhecer mais de português q Java para isso... ex: 10 Dez 11 onze 12 doze Acredito que somente dentro de uma certa faixa isso possa funcionar: Ex: 1000 a 1500 se o numero estiver entre 1000 e 1500 vc sabe q a primeira parte da string é "mil". de 100 a 900 vc teria valores definidos por extenso. de 10 a 99 iden de 0 a 9 também. Muito complexo. Acho que não tem jeito para todos os números, precisaria talvez de uns recursos de IA para fazer isso ou vários Vector ou Hashtable. Sugiro outra alternativa. []'s Sparc ----- Original Message ----- From: rodrigo moura <mailto:[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Sent: Tuesday, September 03, 2002 5:19 PM Subject: [java-list] Algoritimo Numero por Extenso Oi pessoal, alguem tem algum algoritmo que leia um numero e escreva ele por extenso? eu sei que eu tenho que fazer um vetor com unidades, dezenas, centenas, milhares, etc... mas como eu vou criticar isso? Obrigado, Rodrigo Norões _____ <http://br.geocities.yahoo.com/v/pb.html> Yahoo! PageBuilder - O super editor para criação de sites: é grátis, fácil e rápido. ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------