Convertir números a letras ASP clásico
Código ASP clásico
- Por Programador ASP clásico /
- 10/05/2016 @ 12:45:12 /
- 1318 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
%>
tags: 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
En esta sección encontrarás una mezcla de códigos recopilados de fuentes públicas de Internet y otros creados por ASP TEAM. Compartimos recursos útiles de buena fe para formar una base de conocimiento en el desarrollo de aplicaciones en ASP Clásico.