Convertir numero en texto

Necesito convertir un valor numérico en su respectiva descripción en letras. Por ejemplo: 1 ---> uno, 20 ----> veinte.
Es un campo numérico el cual debo reflejar en un informe pero con el valor numérico.
Gracias de antemano.
[email protected]
[email protected]

1 Respuesta

Respuesta
1
Como no dices que lenguaje de programación, o que base de datos, ni nada medio parecido, lo único que te puedo enviar es una funciona de VBA (de hace mucho tiempo) que hace lo que quieres. Modifícala de acuerdo a tus necesidades.
_ _ _ _ _
Diego Fernando Marin
[] http://www.dfmarin.com
_________________________________________________________________
Function LETRAS(Numero As Double) As String
' Tiene un problema al manejar el CIEN y el CIENTO, pero no amerita el esfuerzo por ahora
' por eso se quedo asi, y cualquier dato se corrige a MANO !. :-)
Dim U(0 To 99) As String ' Unidades
Dim C(1 To 9) As String ' Centenas
U(0) = ""
U(1) = "UN"
U(2) = "DOS"
U(3) = "TRES"
U(4) = "CUATRO"
U(5) = "CINCO"
U(6) = "SEIS"
U(7) = "SIETE"
U(8) = "OCHO"
U(9) = "NUEVE"
U(10) = "DIEZ"
U(11) = "ONCE"
U(12) = "DOCE"
U(13) = "TRECE"
U(14) = "CATORCE"
U(15) = "QUINCE"
U(16) = "DIECISEIS"
U(17) = "DIECISIETE"
U(18) = "DIECIOCHO"
U(19) = "DIECINUEVE"
U(20) = "VEINTE"
U(21) = "VEINTIUNO"
U(22) = "VEINTIDOS"
U(23) = "VEINTITRES"
U(24) = "VEINTICUATRO"
U(25) = "VEINTICINCO"
... Completa de U(26) a U(95), la caja de dialogo de TodoExpertos,
no deja poner textos de más de 3400 caracteres. :-)
U(96) = "NOVENTA Y SEIS"
U(97) = "NOVENTA Y SIETE"
U(98) = "NOVENTA Y OCHO"
U(99) = "NOVENTA Y NUEVE"
C(1) = "CIENTO"
C(2) = "DOSCIENTOS"
C(3) = "TRESCIENTOS"
C(4) = "CUATROCIENTOS"
C(5) = "QUINIENTOS"
C(6) = "SEISCIENTOS"
C(7) = "SETECIENTOS"
C(8) = "OCHOCIENTOS"
C(9) = "NOVECIENTOS"
X = ""
If Numero >= 1000000 Then
If Numero >= 100000000 Then
X = X + C(Numero \ 100000000) + " "
Numero = Numero Mod 100000000
End If
X = X + U(Numero \ 1000000)
If (Numero \ 1000000) = 1 Then
X = X + " MILLON "
Else
X = X + " MILLONES "
End If
Numero = Numero Mod 1000000
End If
If Numero >= 1000 Then
If Numero >= 100000 Then
X = X + C(Numero \ 100000) + " "
Numero = Numero Mod 100000
End If
X = X + U(Numero \ 1000) + " MIL "
Numero = Numero Mod 1000
End If
If Numero >= 100 Then
X = X + C(Numero \ 100) + " "
Numero = Numero Mod 100
End If
X = X + U(Numero) + " "
LETRAS = X
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas