RE: [java-list] Re: Numero por extenso

2003-06-15 Por tôpico Pfaffenseller, Eliseu
 u[] = {, um, dois, tres, qua-tro, cin-co, seis, se-te, 
oi-to, no-ve, dez, on-ze, do-ze, tre-ze, ca-tor-ze, quin-ze, 
de-zas-seis, de-zas-sete, de-zoi-to, de-za-no-ve};
String d[] = {, , vin-te, trin-ta, qua-ren-ta, cin-quen-ta, 
ses-sen-ta, se-ten-ta, oi-ten-ta, no-ven-ta};
String c[] = {, cen-to, du-zen-tos, tre-zen-tos, qua-tro-cen-tos, 
qui-nhen-tos, seis-cen-tos, se-te-cen-tos, oi-to-cen-tos, no-ve-cen-tos};
String extenso_do_numero = new String();
//  extenso_do_numero  = \0 ;
if ((n  1000)  (n != 0)) {
  if (n == 100) {
extenso_do_numero = cem;
  } else {
if (n  99) {
  extenso_do_numero += c[(int)(n / 100)];
  if (n % 100  0) {
extenso_do_numero +=  e ;
  }
}
if (n % 100  20) {
  extenso_do_numero += u[(int)n % 100];
} else {
  extenso_do_numero += d[((int)n % 100) / 10];
  if ((n % 10  0)  (n  10)) {
extenso_do_numero +=  e ;
extenso_do_numero += u[(int)n % 10];
  }
}
  }
} else if (n  999) {
  extenso_do_numero = ERRO: NUMERO  999;
}
return extenso_do_numero;
  }
  
  public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
double nn = .99D;

if (args.length  0) {
  try {
nn = Double.parseDouble(args[0]);
  } catch (NumberFormatException e) {
System.out.println(Use java Extenso [número com '.' decimal]);
System.exit(1);
  }
}

Extenso ex = new Extenso(nn, 30);

sb.append(String.valueOf(nn)).append( = \r\n);
sb.append(ex.getResult());
System.out.println(sb);

  }
}



-Original Message-
From: Silva Luis-ALS038 [mailto:[EMAIL PROTECTED]
Sent: 04 June, 2003 07:13
To: '[EMAIL PROTECTED]'
Subject: RE: [java-list] Re: Numero por extenso


Olá...,

Será que poderiam me passar esta classe também?!
Seria legal se enviassem para a lista


Obrigado,

Luis Antonio.


-Original Message-
From: sobral.terra [mailto:[EMAIL PROTECTED]
Sent: Sunday, June 01, 2003 11:57 PM
To: [EMAIL PROTECTED]
Subject: Re: [java-list] Re: Numero por extenso


obrigado
- Original Message - 
From: Mauro Martini [EMAIL PROTECTED]
To: sobral.terra [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Thursday, May 29, 2003 6:13 AM
Subject: [java-list] Re: Numero por extenso


 Tá com sorte. Semana passada catei no google uma prum amigo e ainda tenho
 ela. É uma classe pra dinhero, com centavos e tudo :-)

 Consegui numa lista protuguesa (com certeza), mas já alterei os mil
 milhoes pra bilhões e troquei os escudos pra reais.

 Funciona até 10^10 - 1, com duas casas decimais. E tem um esquema legal
pra
 separar as sílabas. O algorítimo não é maravilhoso, mas resolve o
problema.

 ETA,

 sobral.terra writes:

  Pessoal, serah q. alguem teria uma funcao q. retorne o valor de um
numero por extenso.
 
  Obrigado








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


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

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


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



RE: [java-list] Re: Numero por extenso

2003-06-06 Por tôpico Silva Luis-ALS038
Olá...,

Será que poderiam me passar esta classe também?!
Seria legal se enviassem para a lista


Obrigado,

Luis Antonio.


-Original Message-
From: sobral.terra [mailto:[EMAIL PROTECTED]
Sent: Sunday, June 01, 2003 11:57 PM
To: [EMAIL PROTECTED]
Subject: Re: [java-list] Re: Numero por extenso


obrigado
- Original Message - 
From: Mauro Martini [EMAIL PROTECTED]
To: sobral.terra [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Thursday, May 29, 2003 6:13 AM
Subject: [java-list] Re: Numero por extenso


 Tá com sorte. Semana passada catei no google uma prum amigo e ainda tenho
 ela. É uma classe pra dinhero, com centavos e tudo :-)

 Consegui numa lista protuguesa (com certeza), mas já alterei os mil
 milhoes pra bilhões e troquei os escudos pra reais.

 Funciona até 10^10 - 1, com duas casas decimais. E tem um esquema legal
pra
 separar as sílabas. O algorítimo não é maravilhoso, mas resolve o
problema.

 ETA,

 sobral.terra writes:

  Pessoal, serah q. alguem teria uma funcao q. retorne o valor de um
numero por extenso.
 
  Obrigado








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


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

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



Re: [java-list] Re: Numero por extenso

2003-06-04 Por tôpico Aurelio Bardou Martins
Ok, colega.
Entao manda a rotina ai. Ok?

[]´s
Aurelio.
- Original Message -
From: Mauro Martini [EMAIL PROTECTED]
To: sobral.terra [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Thursday, May 29, 2003 10:13 AM
Subject: [java-list] Re: Numero por extenso


 Tá com sorte. Semana passada catei no google uma prum amigo e ainda tenho
 ela. É uma classe pra dinhero, com centavos e tudo :-)

 Consegui numa lista protuguesa (com certeza), mas já alterei os mil
 milhoes pra bilhões e troquei os escudos pra reais.

 Funciona até 10^10 - 1, com duas casas decimais. E tem um esquema legal
pra
 separar as sílabas. O algorítimo não é maravilhoso, mas resolve o
problema.

 ETA,

 sobral.terra writes:

  Pessoal, serah q. alguem teria uma funcao q. retorne o valor de um
numero por extenso.
 
  Obrigado








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


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



Re: [java-list] Re: Numero por extenso

2003-06-04 Por tôpico sobral.terra
obrigado
- Original Message - 
From: Mauro Martini [EMAIL PROTECTED]
To: sobral.terra [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Thursday, May 29, 2003 6:13 AM
Subject: [java-list] Re: Numero por extenso


 Tá com sorte. Semana passada catei no google uma prum amigo e ainda tenho
 ela. É uma classe pra dinhero, com centavos e tudo :-)

 Consegui numa lista protuguesa (com certeza), mas já alterei os mil
 milhoes pra bilhões e troquei os escudos pra reais.

 Funciona até 10^10 - 1, com duas casas decimais. E tem um esquema legal
pra
 separar as sílabas. O algorítimo não é maravilhoso, mas resolve o
problema.

 ETA,

 sobral.terra writes:

  Pessoal, serah q. alguem teria uma funcao q. retorne o valor de um
numero por extenso.
 
  Obrigado








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


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



[java-list] Re: Numero por extenso

2003-06-01 Por tôpico Mauro Martini
Tá com sorte. Semana passada catei no google uma prum amigo e ainda tenho 
ela. É uma classe pra dinhero, com centavos e tudo :-) 

Consegui numa lista protuguesa (com certeza), mas já alterei os mil 
milhoes pra bilhões e troquei os escudos pra reais. 

Funciona até 10^10 - 1, com duas casas decimais. E tem um esquema legal pra 
separar as sílabas. O algorítimo não é maravilhoso, mas resolve o problema. 

ETA, 

sobral.terra writes: 

Pessoal, serah q. alguem teria uma funcao q. retorne o valor de um numero por extenso. 

Obrigado

//package converter;
/**
 * Title:
 * Description:
 * Copyright:Copyright (c) 2001
 * Company:   Despodata
 *
 * @author
 * @created9 de Maio de 2003
 * @since  9 de Maio de 2003
 * @version1.0
 */

/**
 * Usage of the class:
 * to create an instance of the class and by this instance
 * using SetNumber(or passing the number to the constructor) and GetResult methods
 *
 * @author Mauro
 * @created9 de Maio de 2003
 * @since  9 de Maio de 2003
 */

public class Extenso {
  /**  Description of the Field */
  private double num; //The number that is going to be converted
  /**  Description of the Field */
  private String s; //The String that is going to be returned
  /**  Description of the Field */
  private int maxlen; //our result string's wrap limit..
  /**  Description of the Field */
  private int cut_point;
  /**  Description of the Field */
  private boolean centavo = false;

  //Constructors
  /**Construtor para o objeto Extenso */
  public Extenso() { }

  /**
   *Construtor para o objeto Extenso
   *
   * @param  num_ Description of the Parameter
   * @param  maxlen_  Description of the Parameter
   */
  public Extenso(double num_, int maxlen_) {
setNumber(num_, maxlen_);
  }

  /**
   * To set the number to be converted
   *
   * @param  num_ Description of the Parameter
   * @param  maxlen_  Description of the Parameter
   */
  public void setNumber(double num_, int maxlen_) {
num = num_;
s = new String();
maxlen = maxlen_;
Extenso();
  }

  /** The function that makes the convertion */
  private void Extenso() {

String nome[] = {
um bi-lhão,
 bi-lhões,
um mi-lhão,
 mi-lhões};
long n = (long)num;
long mil_milhoes;
long milhoes;
long milhares;
long unidades;
long centavos;
char numero[];
double frac = num - n;
int nl;
int rp;
int last;
int p;
int len;
if (num == 0) {
  s += zero;
  return;
}
mil_milhoes = (n - n % 10) / 10;
n -= mil_milhoes * 10;
milhoes = (n - n % 100) / 100;
n -= milhoes * 100;
milhares = (n - n % 1000) / 1000;
n -= milhares * 1000;
unidades = n;
centavos = (long)(frac * 100);
if ((long)(frac * 1000 % 10)  5) {
  centavos++;
}
//  s = \0;
//s[0] = '\0' ; //??
if (mil_milhoes  0) {
  if (mil_milhoes == 1) {
s += nome[0];
  } else {
s += numero(mil_milhoes);
s += nome[1];
  }
  if ((unidades == 0)  ((milhares == 0)  (milhoes  0))) {
s +=  e ;
  } else if ((unidades != 0) || ((milhares != 0) || (milhoes != 0))) {
s += , ;
  }
}
if (milhoes  0) {
  if (milhoes == 1) {
s += nome[2];
  } else {
s += numero(milhoes);
s += nome[3];
  }
  if ((unidades == 0)  (milhares  0)) {
s +=  e ;
  } else if ((unidades != 0) || (milhares != 0)) {
s += , ;
  }
}
if (milhares  0) {
  if (milhares != 1) {
s += numero(milhares);
  }
  s +=  mil;
  if (unidades  0) {
if ((milhares  100)  (unidades  100)) {
  s += , ;
} else if (((unidades % 100) != 0) || ((unidades % 100 == 0)  (milhares  
10))) {
  s +=  e ;
} else {
  s +=  ;
}
  }
}
s += numero(unidades);
if (num  0) {
  s += ((long)num == 1L) ?  real :  reais;
}
if (centavos != 0) {
  if (n != 0) {
centavo = true;
  }
  s +=  e ;
  s += numero(centavos);
  s += (centavos==1) ?  cen-ta-vo :  cen-ta-vos;
}

len = s.length();
StringBuffer sar = new StringBuffer(s);
StringBuffer l = new StringBuffer();
last = 0;
rp = 0;
nl = 1;

for (p = 0; p  len; ++p) {
  if (sar.charAt(p) != '-') {
rp++;
  }
  if (rp  maxlen) {
if (sar.charAt(last) == ' ') {
  sar.replace(last, last + 1, \n);
} else {
  sar.insert(last + 1, '\n');
}
rp -= maxlen;
nl++;
  }
  if ((sar.charAt(p) == ' ') || (sar.charAt(p) == '-')) {
last = p;
  }
} //for
rp = 0;
len = sar.length();

for (p = 0; p  len; ++p) {
  if (!((sar.charAt(p) == '-')  (sar.charAt(p + 1) != '\n'))) {
l.insert(rp++, sar.charAt(p));
  }
} //for

s = l.toString();
  }

  /**
   *