Por ASP clásico / 10/05/2016 @ 12:45:12 / 1680 visitas
Existen situaciones en las cuales se necesita convertir números a letras en ASP clásico como en el caso de un sistema de facturación.. Un programador de ASP clásico puede utilizar la siguiente función para coventir un cantidad numérica a una cadena de texto.
Util función en VBScript para convertir números a letras en ASP clásico:
<%
response.Write number2word(1000.101)
output: mil con diez
function number2word(byval numero)’convierte un número a palabras
Dim decimales
number2word=oneNumberToWord(Cdbl(Int(numero)))’lo pasamos a palabras
decimales = (numero – Cdbl(Int(numero))) * 100’obtenemos si tenia decimales
If decimales <> 0 Then number2word = number2word & ” con ” & CStr(oneNumberToWord(Round(decimales))) ‘si tiene decimales convertimos los decimales a palabras
end function
Function oneNumberToWord(pnumero)’un número simple sin decimales a palabras
Dim xcen(9) ‘centenas
Dim xdec(9) ‘decenas
Dim xuni(9) ‘unidades
Dim xexc(6) ‘except
Dim ceros(9)
Dim letras,i,c,j,xnumero, xnum,num,digito,numero_ent,entero,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))
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
End If
oneNumberToWord = letras
End Function
%>
Descubre más sobre cómo simplificar y optimizar tu trabajo empresarial en el Blog de CoreASP.
convertir números a letras asp classic, convertir números a letras asp clásico, numero a letra asp classic, numeros a letras en asp classic, asp clasico ejemplos, asp classic
Descargo de Responsabilidad:
El contenido y los recursos que ofrecemos en CoreASP están destinados únicamente a proporcionar herramientas y ejemplos prácticos para el desarrollo en ASP Clásico. Esta información es de carácter general y no debe considerarse asesoramiento profesional o técnico específico para tu proyecto. Aunque hacemos todo lo posible por asegurar la calidad y precisión de los recursos compartidos, no garantizamos que sean completamente libres de errores o que se ajusten perfectamente a todas las situaciones. CoreASP no se responsabiliza por cualquier pérdida, daño o inconveniente derivado del uso directo o indirecto de los recursos o información proporcionada. Además, CoreASP no respalda ni asume responsabilidad por enlaces o contenido de terceros que puedan estar referenciados en nuestra plataforma. Todos los derechos de propiedad intelectual sobre el contenido y recursos publicados en CoreASP pertenecen a CoreASP o a sus respectivos propietarios, y su uso está sujeto a las condiciones de la licencia especificada para cada recurso. Nos reservamos el derecho de modificar este descargo de responsabilidad en cualquier momento sin previo aviso. Para más detalles, consulta el documento completo de términos y condiciones.
13/07/2025 @ 10:56:59
23/05/2025 @ 14:09:59
07/04/2025 @ 07:54:51
29/03/2025 @ 16:49:42
12/02/2025 @ 10:15:42
21/01/2025 @ 16:21:11