CID
Administrador
Legend
   
Prestigio: 22
Desconectado
Sexo: 
Estudiante de: Arte de la informática
Título universitario: Programador
Profesión: Desarrollador
Mensajes: 1136
Lenguajes:Varios Bases de datos:Varios
|
 |
« Respuesta #1 en: 02/07/2006, 01:11:26 » |
|
Todo depende de la cantidad de cifras del número a traducir. Supongamos que fueran dos cifras, deberias tener en cuenta que los número del 11 al 15 se nombran distindo a los demás. Definir un array para las unidades (uno, dos, tres,...nueve) Definir un array para las decenas (dieci, venti, treinti,..., noventi) Definir un array para los especiales (once, doce, trece, catorce, quince) Luego obtener el numero del usuario, por ejemplo 45; Tomar la decena, en este caso 4, verificar que no sea 1, reemplazar a partir del array con 'cuarenti'. Tomar la unidad, en este caso 5, reemplazar con 'cinco'. Unir las dos cadenas: 'cuarenti' + 'cinco' Si el caso fuera 14, entonces la primera verificación es importante. Tomar la decena, en este caso 1, verificar que la unidad esté entre 1 y 5 (en este caso se cumple, es 4), reemplazar a partir del array de especiales con 'catorce'.
Básicamente ese es el algoritmo con dos cifras, para mas cifras no vas a tener problemas ya que es practicamente lo mismo. Espero te sirva, saludos.
|