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]
-------------------------------------------------------------------------