Convertir Número a Letra del Alfabeto

Peter
13 de Mayo del 2006
Necesito recuperar la Letra del Alfabeto correspondiente a un número que se me da.
Ejemplo: Si el número que tengo es el 1, la letra que me debería devolver es la A.

Me han comentado que puede haber alguna función para ello, pero no tengo ni idea de cual hay que aplicar.

Ayuda, please.

Gracias

ilco26
13 de Mayo del 2006
si te sirve de algo...
Response.Write(chr(65)) da como resultado: A
Response.Write(chr(90)) da como resultado: Z
entonces....
Response.Write(chr(n+64)) da como resultado: la letra corespondiente al numero, si "n" es 1 el resultado es "A"
si quiere ver el resto crea una pagina con esto:
<%@ LANGUAGE="VBScript" %>
<%
For n=0 to 255
Response.Write(n & ": " & Chr(n) & "<BR>")
NEXT
%>
y veras todos los caracteres estos que salen cuando pulsas ATL+numeros que no me acuerdo ni como se llaman.

JAYUPI
13 de Mayo del 2006
PEGA ESTE TEXTO EN BLOCK DE NOTAS Y GUARDALO COMO ASP CON EL NOMBRE QUE SEA, ALFINAL DE LA HOJA VIENE montoescrito=EnLetras(255001.22) CAMBIALE LA CANTIDAD POR LA QUE TU QUIERAS, YA SEA UNA VARIABLE O UN VALOR FIJO, SUERTE







<%
Function EnLetras(numero)
Dim b, paso
Dim expresion, entero, deci, flag

flag = "N"
For paso = 1 To Len(numero)
If Mid(numero, paso, 1) = "." Then
flag = "S"
Else
If flag = "N" Then
entero = entero + Mid(numero, paso, 1) 'Extae la parte entera del numero
Else
deci = deci + Mid(numero, paso, 1) 'Extrae la parte decimal del numero
End If
End If
Next

If Len(deci) = 1 Then
deci = deci & "0"
End If

flag = "N"
If int(numero) >= -999999999 And int(numero) <= 999999999 Then 'si el numero esta dentro de 0 a 999.999.999
For paso = Len(entero) To 1 Step -1
b = Len(entero) - (paso - 1)
Select Case paso
Case 3, 6, 9
Select Case Mid(entero, b, 1)
Case "1"
If Mid(entero, b + 1, 1) = "0" And Mid(entero, b + 2, 1) = "0" Then
expresion = expresion & "cien "
Else
expresion = expresion & "ciento "
End If
Case "2"
expresion = expresion & "doscientos "
Case "3"
expresion = expresion & "trescientos "
Case "4"
expresion = expresion & "cuatrocientos "
Case "5"
expresion = expresion & "quinientos "
Case "6"
expresion = expresion & "seiscientos "
Case "7"
expresion = expresion & "setecientos "
Case "8"
expresion = expresion & "ochocientos "
Case "9"
expresion = expresion & "novecientos "
End Select

Case 2, 5, 8
Select Case Mid(entero, b, 1)
Case "1"
If Mid(entero, b + 1, 1) = "0" Then
flag = "S"
expresion = expresion & "diez "
End If
If Mid(entero, b + 1, 1) = "1" Then
flag = "S"
expresion = expresion & "once "
End If
If Mid(entero, b + 1, 1) = "2" Then
flag = "S"
expresion = expresion & "doce "
End If
If Mid(entero, b + 1, 1) = "3" Then
flag = "S"
expresion = expresion & "trece "
End If
If Mid(entero, b + 1, 1) = "4" Then
flag = "S"
expresion = expresion & "catorce "
End If
If Mid(entero, b + 1, 1) = "5" Then
flag = "S"
expresion = expresion & "quince "
End If
If Mid(entero, b + 1, 1) > "5" Then
flag = "N"
expresion = expresion & "dieci"
End If

Case "2"
If Mid(entero, b + 1, 1) = "0" Then
expresion = expresion & "veinte "
flag = "S"
Else
expresion = expresion & "veinti"
flag = "N"
End If

Case "3"
If Mid(entero, b + 1, 1) = "0" Then
expresion = expresion & "treinta "
flag = "S"
Else
expresion = expresion & "treinta y "
flag = "N"
End If

Case "4"
If Mid(entero, b + 1, 1) = "0" Then
expresion = expresion & "cuarenta "
flag = "S"
Else
expresion = expresion & "cuarenta y "
flag = "N"
End If

Case "5"
If Mid(entero, b + 1, 1) = "0" Then
expresion = expresion & "cincuenta "
flag = "S"
Else
expresion = expresion & "cincuenta y "
flag = "N"
End If

Case "6"
If Mid(entero, b + 1, 1) = "0" Then
expresion = expresion & "sesenta "
flag = "S"
Else
expresion = expresion & "sesenta y "
flag = "N"
End If

Case "7"
If Mid(entero, b + 1, 1) = "0" Then
expresion = expresion & "setenta "
flag = "S"
Else
expresion = expresion & "setenta y "
flag = "N"
End If

Case "8"
If Mid(entero, b + 1, 1) = "0" Then
expresion = expresion & "ochenta "
flag = "S"
Else
expresion = expresion & "ochenta y "
flag = "N"
End If

Case "9"
If Mid(entero, b + 1, 1) = "0" Then
expresion = expresion & "noventa "
flag = "S"
Else
expresion = expresion & "noventa y "
flag = "N"
End If
End Select

Case 1, 4, 7
Select Case Mid(entero, b, 1)
Case "1"
If flag = "N" Then
If paso = 1 Then
expresion = expresion & "uno "
Else
expresion = expresion & "un "
End If
End If
Case "2"
If flag = "N" Then
expresion = expresion & "dos "
End If
Case "3"
If flag = "N" Then
expresion = expresion & "tres "
End If
Case "4"
If flag = "N" Then
expresion = expresion & "cuatro "
End If
Case "5"
If flag = "N" Then
expresion = expresion & "cinco "
End If
Case "6"
If flag = "N" Then
expresion = expresion & "seis "
End If
Case "7"
If flag = "N" Then
expresion = expresion & "siete "
End If
Case "8"
If flag = "N" Then
expresion = expresion & "ocho "

End If
Case "9"
If flag = "N" Then
expresion = expresion & "nueve "
End If
End Select
End Select
If paso = 4 Then
If Mid(entero, 6, 1) <> "0" Or Mid(entero, 5, 1) <> "0" Or Mid(entero, 4, 1) <> "0" Or (Mid(entero, 6, 1) = "0" And Mid(entero, 5, 1) = "0"

And Mid(entero, 4, 1) = "0" And Len(entero) <= 6) Then
expresion = expresion & "mil "
End If
End If
If paso = 7 Then
If Len(entero) = 7 And Mid(entero, 1, 1) = "1" Then
expresion = expresion & "millón "
Else
expresion = expresion & "millones "
End If
End If
Next

If deci <> "" Then
If Mid(entero, 1, 1) = "-" Then 'si el numero es negativo
EnLetras = "menos " & expresion & " PESOS " & deci ' & ""
Else
EnLetras = expresion & " PESOS " & deci ' & ""
End If
Else
If Mid(entero, 1, 1) = "-" Then 'si el numero es negativo
EnLetras = "menos " & expresion & " PESOS 2"
Else
EnLetras = expresion & " PESOS 00"
End If
End If
Else 'si el numero a convertir esta fuera del rango superior e inferior
EnLetras = ""
End If
End Function

%>









<%
montoescrito=EnLetras(255001.22)
response.write(montoescrito & "/100 MN")
%>



Lucino
13 de Mayo del 2006
quisiera que me diera la definicion de mid
gracias

yopi
13 de Mayo del 2006
al evaluar la cantidad 2,400.00 me devuelve veintimil cuatrocientos ... que pex??? onta el bug

Armando Astroz
13 de Mayo del 2006
Jayupi:
Esta rutina es una macro de Excel o en que lenguaje la puedo ejecutar para obtener el texto de cualquier cifra numerica