Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/10/2009, 16:21
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Pasar de letras a numeros

Cita:
Iniciado por lobo_php Ver Mensaje

muy bien compa, sabes cual es el problema?
se lo hiciste todo XD
¿Como? ... Así :

Código Java:
Ver original
  1. package Letras;
  2.  
  3. import java.util.List;
  4. import java.util.StringTokenizer;
  5.  
  6. public class Main {
  7.  
  8.     String[] Letras = {"UNO", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE",
  9.         "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE",
  10.         "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA",
  11.         "CIEN", "CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS"};
  12.  
  13.     Integer[] Valores = {1, 2, 3, 4, 5, 6, 7, 8, 9,
  14.         10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
  15.         20, 30, 40, 50, 60, 70, 80, 90,
  16.         100, 100, 200, 300, 400, 500, 600, 700, 800, 900};
  17.  
  18.     List lstLetras = java.util.Arrays.asList(Letras);
  19.  
  20.     public static void main(String[] args) {
  21.         new Main().Letras();
  22.     }
  23.  
  24.     public void Letras() {
  25.         StringTokenizer st = new StringTokenizer("CUATROCIENTOS OCHENTA Y CINCO MIL DOSCIENTOS DOCE");
  26.         Integer numero = 0;
  27.  
  28.         while (st.hasMoreTokens()) {
  29.             String t = st.nextToken();
  30.             if (t.equals("MIL")) {
  31.                 numero *= 1000;
  32.             }
  33.             if (lstLetras.indexOf(t) > -1) {
  34.                 numero += Valores[lstLetras.indexOf(t)];
  35.             }
  36.         }
  37.  
  38.         System.out.println("Resultado : " + String.valueOf(numero));
  39.     }
  40. }

Saludos,

EDIT: Ooops , no leí bien, creí que querías que lo pusiera todo.

Última edición por HackmanC; 01/10/2009 a las 16:22 Razón: Edit