Foros del Web » Programando para Internet » ASP Clásico »

Funcion para convertir numeros a letras!!

Estas en el tema de Funcion para convertir numeros a letras!! en el foro de ASP Clásico en Foros del Web. Buenas, quiero compartir con ustedes esta función que hace años cree en VB para convertir números a letras y que hoy, por necesidad, la he ...
  #1 (permalink)  
Antiguo 20/04/2006, 13:34
 
Fecha de Ingreso: marzo-2006
Mensajes: 83
Antigüedad: 18 años, 1 mes
Puntos: 0
Funcion para convertir numeros a letras!!

Buenas, quiero compartir con ustedes esta función que hace años cree en VB para convertir números a letras y que hoy, por necesidad, la he pasado como función en ASP.
Está especialmente diseñana para importes, por lo tanto los décimales los transforma al tipo "con xx/100".
Ejemplo:
1200,55 = mil doscientos con 55/100

Disfrutenla!!!!

Código:
<%
Dim xcen(9) 'centenas
Dim xdec(9) 'decenas
Dim xuni(9) 'unidades
Dim xexc(6) 'except
Dim ceros(9)

Function CONVERTIR(pnumero)

Dim letras
Dim i
Dim c
Dim j
Dim xnumero
Dim xnum
Dim num
Dim digito
Dim numero_ent
Dim entero
Dim decimales
Dim temp
  
  xcen(2) = "dosc"
  xcen(3) = "tresc"
  xcen(4) = "cuatrosc"
  xcen(5) = "quin"
  xcen(6) = "seisc"
  xcen(7) = "setec"
  xcen(8) = "ochoc"
  xcen(9) = "novec"
  xdec(2) = "veinti"
  xdec(3) = "trei"
  xdec(4) = "cuare"
  xdec(5) = "cincue"
  xdec(6) = "sese"
  xdec(7) = "sete"
  xdec(8) = "oche"
  xdec(9) = "nove"
  xuni(1) = "uno"
  xuni(2) = "dos"
  xuni(3) = "tres"
  xuni(4) = "cuatro"
  xuni(5) = "cinco"
  xuni(6) = "seis"
  xuni(7) = "siete"
  xuni(8) = "ocho"
  xuni(9) = "nueve"
  xexc(1) = "diez"
  xexc(2) = "once"
  xexc(3) = "doce"
  xexc(4) = "trece"
  xexc(5) = "catorce"
  xexc(6) = "quince"
  ceros(1) = "0"
  ceros(2) = "00"
  ceros(3) = "000"
  ceros(4) = "0000"
  ceros(5) = "00000"
  ceros(6) = "000000"
  ceros(7) = "0000000"
  ceros(8) = "00000000"
  
  c = 1
  i = 1
  j = 0
  
  xnumero = cStr(pnumero)
If Cdbl(LTrim(RTrim(pnumero))) < 999999999.99 Then
    numero_ent = Cdbl(Int(pnumero))
    If Len(numero_ent) < 9 Then
        numero_ent = ceros(9 - Len(numero_ent)) & numero_ent
    End If
    entero = Cdbl(Int(numero_ent))
    decimales = (Cdbl(xnumero) - entero) * 100
    
	Do While i < 8
        temp = 0
        num = Cdbl(Mid(numero_ent, i, 3))
        xnum = Mid(numero_ent, i, 3)
        digito = Cdbl(Mid(xnum, 1, 1))
        
        '/* analizo el numero entero de a 3 */
        If xnum = "000" Then
            j = 0
        Else
        	j = 1
            If digito > 1 Then
                letras = letras & xcen(digito) & "ientos "
            End If
            If Mid(xnum, 1, 1) = "1" And Mid(xnum, 2, 2) <> "00" Then
                letras = letras & "ciento "
            ElseIf Mid(xnum, 1, 1) = "1" Then
                letras = letras & "cien "
            End If
  
  			'/* analisis de las decenas */
            digito = Cdbl(Mid(xnum, 2, 1))
            If digito > 2 And Mid(xnum, 3, 1) = "0" Then
                letras = letras & xdec(digito) & "nta "
				temp = 1
            End If
            
			If digito > 2 And Mid(xnum, 3, 1) <> "0" Then
                letras = letras & xdec(digito) & "nta y "
				
            End If
            
			If digito = 2 And Mid(xnum, 3, 1) = "0" Then
                letras = letras & "veinte "
				temp = 1
            ElseIf digito = 2 And Mid(xnum, 3, 1) <> "0" Then
                letras = letras & "veinti"
				
            End If
            
			If digito = 1 And Mid(xnum, 3, 1) >= "6" Then
                letras = letras & "dieci"
            ElseIf digito = 1 And Mid(xnum, 3, 1) < "6" Then
                letras = letras & xexc(Cdbl(Mid(xnum, 3, 1) + 1))
            	temp = 1
			End If
        End If
   
   		if temp = 0 then
   	'/* analisis del ultimo digito */
        digito = Cdbl(Mid(xnum, 3, 1))
            	If ((c = 1) Or (c = 2)) And xnum = "001" Then
                	letras = letras & "un"
            	Else
                	If ((c = 1) Or (c = 2)) And xnum >= "020" And Mid(xnum, 3, 1) = "1" Then
                    	letras = letras & "un"
                	Else
                    	If digito <> 0 Then
                        	letras = letras & xuni(digito)
                    	End If
                	End If
            	End If
		end if
  
  If j = 1 And i = 1 And xnum = "001" And c = 1 Then
    letras = letras & " millon "
  ElseIf j = 1 And i = 1 And xnum <> "001" And c = 1 Then
    letras = letras & " millones "
  ElseIf j = 1 And i = 4 And c = 2 Then
    letras = letras & " mil "
  End If
  i = i + 3
  c = c + 1
  Loop
  If letras = "" Then
  letras = "cero "
  End If
  If decimales <> 0 Then
    decimales = Round(decimales)
    
    letras = letras & " con " & CStr(decimales) & "/100"
  End If
  
End If

'EN ESTA VARIABLE SESSION SE GUARDA EL NUMERO EN LETRAS 
Session("Valor") = letras
End Function
%>
  #2 (permalink)  
Antiguo 20/04/2006, 13:53
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 2 meses
Puntos: 146
Socorrida función

Felicidades por la iniciativa.

Ponla en las FAQ y estará completo el aporte.

Saludos
  #3 (permalink)  
Antiguo 20/04/2006, 13:56
Avatar de a n g e l u s  
Fecha de Ingreso: enero-2006
Ubicación: Chile
Mensajes: 237
Antigüedad: 18 años, 3 meses
Puntos: 1
muchas gracias, yo lo tengo en javascritps y se cuanto cuesta hacerlo.

MUCHAS GRACIAS...
__________________
Atte,
A n g e l u s
Concepción - Chile
más vale respuestas bien pensadas, que 7000 post
  #4 (permalink)  
Antiguo 20/04/2006, 14:03
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 22 años, 2 meses
Puntos: 2
guena, hace rato se necesitaba este script

Cita:
Ponla en las FAQ y estará completo el aporte.
eso sono como el emperador hablandole al aprendiz en "la guerra de las galaxias"
  #5 (permalink)  
Antiguo 21/05/2007, 18:11
 
Fecha de Ingreso: mayo-2007
Mensajes: 1
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Funcion para convertir numeros a letras!!

Esta Perfecta la Funcion, pero como la llamo desde mi sitio, es decir... como inserto la cantidad que deseo convertir... y como veo el resultado...

Gracias por su respuesta
  #6 (permalink)  
Antiguo 21/05/2007, 18:42
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 1 mes
Puntos: 88
Re: Funcion para convertir numeros a letras!!

Excelente aporte compañero , tanto tiempo posteada, y no la podia encontrar,

call CONVERTIR(request.form("textobox"))

recuperas la traduccion de
response.write Session("Valor")
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra

Última edición por Shiryu_Libra; 21/05/2007 a las 18:52
  #7 (permalink)  
Antiguo 06/06/2007, 15:26
 
Fecha de Ingreso: junio-2007
Mensajes: 1
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Funcion para convertir numeros a letras!!

Buenas Tardes, quien me puede ayudar con esta misma funcion pero para ASP con javascript. Muchas Gracias
  #8 (permalink)  
Antiguo 06/06/2007, 15:34
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 2 meses
Puntos: 146
Re: Funcion para convertir numeros a letras!!

Si en realidad quieres decir, que necesitas esa misma función en javascript, pues estoy seguro que en las FAQ's del foro de javascript la he visto, búscala por ahí.

Saludos
  #9 (permalink)  
Antiguo 02/08/2007, 20:21
 
Fecha de Ingreso: agosto-2006
Mensajes: 8
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Funcion para convertir numeros a letras!!

Ayudaaa, acaso tendran la funcion en php?, estoy trabajando con php :S
  #10 (permalink)  
Antiguo 02/08/2007, 23:06
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 1 mes
Puntos: 88
Re: Funcion para convertir numeros a letras!!

Cita:
Iniciado por victorya Ver Mensaje
Ayudaaa, acaso tendran la funcion en php?, estoy trabajando con php :S
aki hay un tutorial para realizar esta funcion en PHP, y si se escribe "numeros a letras script PHP" en san google, te dara mas resultados

espero te sirva, suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #11 (permalink)  
Antiguo 03/08/2007, 09:49
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 2 meses
Puntos: 146
Re: Funcion para convertir numeros a letras!!

Además, seguramente en el foro de PHP también ha de estar
  #12 (permalink)  
Antiguo 25/04/2008, 11:51
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
Re: Funcion para convertir numeros a letras!!

como utilizar la funcion si debo de crear una pagina nueva para llamar la funcion oque onda
  #13 (permalink)  
Antiguo 25/04/2008, 23:30
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Re: Funcion para convertir numeros a letras!!

Que detallaso mi esitmado me cae que la busque hace mas de un año y nunca la encontre siempre en vb y nunca la pude pasar a asp pero realmente se agradece saludos...
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #14 (permalink)  
Antiguo 16/06/2008, 15:39
 
Fecha de Ingreso: junio-2008
Mensajes: 1
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Funcion para convertir numeros a letras!!

HOLA Angelus... la que tienes en javascripts... no la puedes publicar?.. please...
necesito urgente una funcion..
gracias
  #15 (permalink)  
Antiguo 11/12/2008, 17:40
 
Fecha de Ingreso: diciembre-2008
Mensajes: 3
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Funcion para convertir numeros a letras!!

Hola me gustaria ver si me pueden ayudar es que necesito el codigo para convertir de numeros a letras pero en javascript...muchas gracias
  #16 (permalink)  
Antiguo 12/12/2008, 00:54
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 18 años, 6 meses
Puntos: 12
Respuesta: Funcion para convertir numeros a letras!!

oooo

habra algo similar en php
  #17 (permalink)  
Antiguo 12/12/2008, 13:53
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Respuesta: Funcion para convertir numeros a letras!!

En php si hay un ejemplo = a este...
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #18 (permalink)  
Antiguo 12/12/2008, 23:31
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 2 meses
Puntos: 146
Respuesta: Funcion para convertir numeros a letras!!

Cita:
Iniciado por yeri_eli Ver Mensaje
Hola me gustaria ver si me pueden ayudar es que necesito el codigo para convertir de numeros a letras pero en javascript...muchas gracias
Cita:
Iniciado por MoDoRrO Ver Mensaje
oooo

habra algo similar en php
Cita:
Iniciado por karynaM Ver Mensaje
HOLA Angelus... la que tienes en javascripts... no la puedes publicar?.. please...
necesito urgente una funcion..
gracias
Por que en lugar de revivir temas viejos sin aportar nada, no leen primero las respuestas ya dadas ....

Si quieren estos mismos códigos en otro lenguaje, búsquen en las FAQ's de esos lenguajes como ya se mencionó
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 4 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 03:33.