Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASP Clásico (http://www.forosdelweb.com/f15/)
-   -   Funcion para convertir numeros a letras!! (http://www.forosdelweb.com/f15/funcion-para-convertir-numeros-letras-387197/)

NoChance 20/04/2006 13:34

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


Myakire 20/04/2006 13:53

Socorrida función

Felicidades por la iniciativa.

Ponla en las FAQ y estará completo el aporte.

Saludos

a n g e l u s 20/04/2006 13:56

muchas gracias, yo lo tengo en javascritps y se cuanto cuesta hacerlo.

MUCHAS GRACIAS...

ElAprendiz 20/04/2006 14:03

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" :borracho:

jmarcosgb 21/05/2007 18:11

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

Shiryu_Libra 21/05/2007 18:42

Re: Funcion para convertir numeros a letras!!
 
Excelente aporte compañero :arriba:, tanto tiempo posteada, y no la podia encontrar, :risa:

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

recuperas la traduccion de
response.write Session("Valor")

Yoanman 06/06/2007 15:26

Re: Funcion para convertir numeros a letras!!
 
Buenas Tardes, quien me puede ayudar con esta misma funcion pero para ASP con javascript. Muchas Gracias

Myakire 06/06/2007 15:34

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

victorya 02/08/2007 20:21

Re: Funcion para convertir numeros a letras!!
 
Ayudaaa, acaso tendran la funcion en php?, estoy trabajando con php :S

Shiryu_Libra 02/08/2007 23:06

Re: Funcion para convertir numeros a letras!!
 
Cita:

Iniciado por victorya (Mensaje 2087624)
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:arriba:

Myakire 03/08/2007 09:49

Re: Funcion para convertir numeros a letras!!
 
Además, seguramente en el foro de PHP también ha de estar

miguel141103 25/04/2008 11:51

Re: Funcion para convertir numeros a letras!!
 
como utilizar la funcion si debo de crear una pagina nueva para llamar la funcion oque onda

Potro 25/04/2008 23:30

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

karynaM 16/06/2008 15:39

Respuesta: Funcion para convertir numeros a letras!!
 
HOLA Angelus... la que tienes en javascripts... no la puedes publicar?.. please...
necesito urgente una funcion..
gracias

yeri_eli 11/12/2008 17:40

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

MoDoRrO 12/12/2008 00:54

Respuesta: Funcion para convertir numeros a letras!!
 
oooo

habra algo similar en php:pensando:

Potro 12/12/2008 13:53

Respuesta: Funcion para convertir numeros a letras!!
 
En php si hay un ejemplo = a este...

Myakire 12/12/2008 23:31

Respuesta: Funcion para convertir numeros a letras!!
 
Cita:

Iniciado por yeri_eli (Mensaje 2702003)
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 (Mensaje 2702291)
oooo

habra algo similar en php:pensando:

Cita:

Iniciado por karynaM (Mensaje 2451265)
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ó


La zona horaria es GMT -6. Ahora son las 02:51.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.