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

Numeros a Letras

Estas en el tema de Numeros a Letras en el foro de ASP Clásico en Foros del Web. Hola a todos, necesito saber como le puedo hacer para pasar numeros a letras, lo que pasa es que tengo una cantidad en mi base ...
  #1 (permalink)  
Antiguo 02/09/2005, 12:44
Avatar de Baby78  
Fecha de Ingreso: julio-2005
Mensajes: 142
Antigüedad: 18 años, 10 meses
Puntos: 0
Numeros a Letras

Hola a todos, necesito saber como le puedo hacer para pasar numeros a letras, lo que pasa es que tengo una cantidad en mi base de datos (sql server) $1,500.00 y necesito pasarla a letras MIL QUINIENTOS PESOS CON CERO CENTAVOS, si alguien sabe donde puedo encontrar algo parecido o si me pudieran poner algun ejemplo.

De antemano Gracias.
  #2 (permalink)  
Antiguo 02/09/2005, 13:21
 
Fecha de Ingreso: junio-2005
Mensajes: 114
Antigüedad: 19 años
Puntos: 0
vi una función que hacia eso en el topic Funciones comunes. Utilizando el buscador también encontré ...
Slds.
  #3 (permalink)  
Antiguo 05/09/2005, 08:36
 
Fecha de Ingreso: abril-2005
Mensajes: 110
Antigüedad: 19 años, 1 mes
Puntos: 0
probalo

<%
Function NumLetras(Numero, Mayusculas)
If Numero < 0 Then Numero = Abs(Numero)

posPunto=InStr(1,Numero,".",1)
if posPunto=0 then posPunto=len(numero)+1
NumSinPunto=mid(numero,1,posPunto-1)
NumTmp=Completar(NumSinPunto)
NumTmp=NumTmp&mid(numero,posPunto,Len(numero))
c01 = 1
pos = 1
TFNumero = ""
'Para extraer tres digitos cada vez
Do While c01 <= 5
c02 = 1
Do While c02 <= 3
'Extrae un digito cada vez de izquierda a derecha
dig = int(Mid(NumTmp, pos, 1))
Select Case c02
Case 1: cen = dig
Case 2: dec = dig
Case 3: uni = dig
End Select
c02 = c02 + 1
pos = pos + 1
Loop
letra3 = Centena(uni, dec, cen)
letra2 = Decena(uni, dec)
letra1 = Unidad(uni, dec)

Select Case c01
Case 1
If cen + dec + uni = 1 Then
Leyenda = "Billon "
ElseIf cen + dec + uni > 1 Then
Leyenda = "Billones "
End If
Case 2
If cen + dec + uni >= 1 And int(Mid(NumTmp, 7, 3)) = 0 Then
Leyenda = "Mil Millones "
ElseIf cen + dec + uni >= 1 Then
Leyenda = "Mil "
End If
Case 3
If cen + dec = 0 And uni = 1 Then
Leyenda = "Millon "
ElseIf cen > 0 Or dec > 0 Or uni > 1 Then
Leyenda = "Millones "
End If
Case 4
If cen + dec + uni >= 1 Then
Leyenda = "Mil "
End If
Case 5
If cen + dec + uni >= 1 Then
Leyenda = ""
End If
End Select

c01 = c01 + 1

TFNumero = TFNumero + letra3 + letra2 + letra1 + Leyenda

Leyenda = ""
letra1 = ""
letra2 = ""
letra3 = ""
Loop

If int(eval(NumTmp)) = 0 Or int(eval(NumTmp)) < 1 Then
Leyenda1 = "Cero Pesos "
ElseIf int(eval(NumTmp)) = 1 Or int(eval(NumTmp)) < 2 Then
Leyenda1 = "Peso "
ElseIf int(eval(Mid(NumTmp, 4, 12))) = 0 Or int(eval(Mid(NumTmp, 10, 6))) = 0 Then
Leyenda1 = "de Pesos "
Else
Leyenda1 = "Pesos "
End If

TFNumero = "(" & TFNumero & Leyenda1 & Mid(NumTmp, 17) & "/100 M.N.)"

If Mayusculas = 1 Then
TFNumero = UCase(TFNumero)
Else
TFNumero = LCase(TFNumero)
End If

NumLetras = TFNumero
End Function


Function Centena(uni,dec,cen)

Select Case cen
Case 1
If dec + uni = 0 Then
cTexto = "cien "
Else
cTexto = "ciento "
End If
Case 2: cTexto = "doscientos "
Case 3: cTexto = "trescientos "
Case 4: cTexto = "cuatrocientos "
Case 5: cTexto = "quinientos "
Case 6: cTexto = "seiscientos "
Case 7: cTexto = "setecientos "
Case 8: cTexto = "ochocientos "
Case 9: cTexto = "novecientos "
Case Else: cTexto = ""
End Select

Centena = cTexto
cTexto = ""

End Function


Function Decena(uni,dec)

Select Case dec
Case 1
Select Case uni
Case 0: cTexto = "diez "
Case 1: cTexto = "once "
Case 2: cTexto = "doce "
Case 3: cTexto = "trece "
Case 4: cTexto = "catorce "
Case 5: cTexto = "quince "
Case 6: cTexto = "dieci"
End Select
Case 2
If uni = 0 Then
cTexto = "veinte "
ElseIf uni > 0 Then
cTexto = "veinti"
End If
Case 3: cTexto = "treinta "
Case 4: cTexto = "cuarenta "
Case 5: cTexto = "cincuenta "
Case 6: cTexto = "sesenta "
Case 7: cTexto = "setenta "
Case 8: cTexto = "ochenta "
Case 9: cTexto = "noventa "
Case Else: cTexto = ""
End Select

If uni > 0 And dec > 2 Then cTexto = cTexto + "y "

Decena = cTexto
cTexto = ""

End Function


Function Unidad(uni, dec)

If dec <> 1 Then
Select Case uni
Case 1: cTexto = "un "
Case 2: cTexto = "dos "
Case 3: cTexto = "tres "
Case 4: cTexto = "cuatro "
Case 5: cTexto = "cinco "
End Select
End If

Select Case uni
Case 6: cTexto = "seis "
Case 7: cTexto = "siete "
Case 8: cTexto = "ocho "
Case 9: cTexto = "nueve "
End Select

Unidad = cTexto
cTexto = ""
End Function

Function Completar(Numero)
while len(numero) <15
numero="0"&numero
Wend
Completar=Numero
End Function
%>
<%
if request("valor")="1" then
cadena=NumLetras(request("num"), 1)
response.Write(cadena)
end if
%>

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form action="NumeroPalabral.asp" method="get">
<input name="num" type="text">
<input type="submit" name="Submit" value="Submit">
<input type="hidden" name="valor" value="1">
</form>
</body>
</html>
  #4 (permalink)  
Antiguo 05/09/2005, 08:37
 
Fecha de Ingreso: abril-2005
Mensajes: 110
Antigüedad: 19 años, 1 mes
Puntos: 0
Lo he bajado de algun lugar en VB y lo modifique para ASP, a quien corresponda disculpas por no hacer referencia.
  #5 (permalink)  
Antiguo 05/09/2005, 09:33
Avatar de Baby78  
Fecha de Ingreso: julio-2005
Mensajes: 142
Antigüedad: 18 años, 10 meses
Puntos: 0
Muchas gracias era lo que necesitaba
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:44.