Hay un error ????
La opción explícita
‘Función principal
Función SpellNumber(ByVal MyNumber)
Dim Dólares, Centavos, Temp
Dim DecimalPlace, Count
ReDim Place(9) como cadena
Lugar (2) = «Mie»
Lugar (3) = «Millón»
Lugar (4) = «Millones»
Lugar (5) = «billones»
‘ Representación de cadena de sum.
MiNúmero = Trim(Str(MiNúmero))
‘ Posición decimal 0 si no está presente.
LugarDecimal = InStr(MiNúmero, «.»)
‘ Convierta centavos y establezca MyNumber en dólares.
Si LugarDecimal > 0 entonces
Centavos = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ «00», 2))
MiNúmero = Trim(Izquierda(MiNúmero, Lugar Decimal – 1))
Terminara si
Número = 1
Hacer Mientras MiNúmero «»
Temp = ObtenerCientos(Derecha(MiNúmero, 3))
Si Temp «» Entonces Dólares = Temp & Place (Número) & Dólares
Si Len(MiNúmero) > 3 Entonces
MiNúmero = Izquierda(MiNúmero, Len(MiNúmero) – 3)
De lo contrario
mi numero = «»
Terminara si
Número = Número + 1
Bucle
Seleccionar dólares de caja
El caso
Dólares = «Sin dólares»
Caso «Uno»
Dólares = «Un dólar»
El caso de algo más
Dólares = Dólares y «Dólares»
Fin de la selección
Seleccionar centavos de caja
El caso
Centavos = «y sin centavos»
Caso «Uno»
Centi = «y un centavo»
El caso de algo más
Centavos = » y » & Centavos & » Centavos»
Fin de la selección
SpellNumber = dólares y centavos
La función final
‘ Convierte un número de 100-999 a texto
Función ObtenerCientos(ByVal MiNúmero)
Dim resultado como cadena
Si Val(MyNumber) = 0 entonces salga de la función
MiNúmero = Derecha(«000» y MiNúmero, 3)
‘ Convierte el lugar de las centenas.
Si Mid(MiNúmero, 1, 1) «0» Entonces
Resultado = GetDigit(Mid(MyNumber, 1, 1)) & » Cien «
Terminara si
‘ Convierte el lugar de las decenas y unidades.
Si Mid(MiNúmero, 2, 1) «0» Entonces
Resultado = Resultado & GetTens(Mid(MyNumber, 2))
De lo contrario
Resultado = Resultado y GetDigit(Mid(MyNumber, 3))
Terminara si
GetHundreds = Resultado
La función final
‘ Convierte un número del 10 al 99 en texto.
Función GetTens(TensText)
Dim resultado como cadena
Result = «» ‘ Deshacer el valor de la función temporal.
If Val(Left(TensText, 1)) = 1 Entonces ‘ Si el valor entre 10-19…
Seleccionar valor de mayúsculas y minúsculas (TensText)
Caso 10: Resultado = «Diez»
Caso 11: Resultado = «Once»
Caso 12: Resultado = «Doce»
Caso 13: Resultado = «Trece»
Caso 14: Resultado = «Catorce»
Caso 15: Resultado = «Quince»
Caso 16: Resultado = «Dieciséis»
Caso 17: Resultado = «Diecisiete»
Caso 18: Resultado = «Dieciocho»
Caso 19: Resultado = «Diecinueve»
El caso de algo más
Fin de la selección
Else ‘ Si el valor entre 20-99…
Seleccione Case Val (Izquierda (TensText, 1))
Caso 2: Resultado = «Veinte»
Caso 3: Resultado = «Treinta»
Caso 4: Resultado = «Cuarenta»
Caso 5: Resultado = «Cincuenta»
Caso 6: resultado = «Sesenta»
Caso 7: Resultado = «Setenta»
Caso 8: Resultado = «Ochenta»
Caso 9: Resultado = «Noventa»
El caso de algo más
Fin de la selección
Resultado = Resultado y GetDigit _
(Right(TensText, 1)) ‘ Ocupar el lugar.
Terminara si
ObtenerDecenas = Resultado
La función final
‘ Convierte un número del 1 al 9 en texto.
Función ObtenerDígito(Dígito)
Seleccionar valor de caso (dígito)
Caso 1: GetDigit = «Uno»
Caso 2: GetDigit = «Dos»
Caso 3: GetDigit = «Tres»
Caso 4: GetDigit = «Cuatro»
Caso 5: GetDigit = «Cinco»
Caso 6: GetDigit = «Seis»
Caso 7: GetDigit = «Siete»
Caso 8: GetDigit = «Ocho»
Caso 9: GetDigit = «Nueve»
Caso contrario: GetDigit = «»
Fin de la selección
La función final