Spellnumber de la función (numberRange como gama)
Si numberRange = "" después
spellnumber = ""
spellnumber = Currency2Words (numberRange, “libras”, “peniques”)
Terminar si
Terminar la función
Función Currency2Words (ByVal MyNumber, strUnits opcionales, strFrac opcional)
Temp dévil
Unidades déviles
Frac dévil
DecimalPlace dévil
Amortiguar la cuenta
Si strUnits de IsMissing (strUnits) entonces = “dólares”
Si strFrac de IsMissing (strFrac) entonces = “centavos”
Lugar de ReDim (9) como secuencia
Colocar (2) = “miles”
Colocar (3) = “millones”
Colocar (4) = “mil millones”
Colocar (5) = “trillón”
MyNumber = ajuste (str (MyNumber))
DecimalPlace = InStr (MyNumber, “.")
Si DecimalPlace > 0 entonces
El Temp = se fue (mediados de (MyNumber, DecimalPlace + 1) y “00”, 2)
Frac = ConvertTens (Temp)
MyNumber = ajuste (izquierdo (MyNumber, DecimalPlace - 1))
Terminar si
Cuenta = 1
Hacer mientras que "" <> de MyNumber
Temp = ConvertHundreds (derecho (MyNumber, 3))
Si unidades <> = Temp y lugar (cuenta) y unidades del "" del Temp entonces
Si Len (MyNumber) > 3 entonces
MyNumber = ido (MyNumber, Len (MyNumber) - 3)
MyNumber = ""
Terminar si
Cuenta = cuenta + 1
Lazo
Unidades = ajuste (unidades) y ““
Seleccionar el ajuste del caso (las unidades)
Encajonar el ""
Unidades = "" '“no” y strUnits
Caso “uno”
Las unidades = “una” y se fueron (los strUnits, Len (strUnits) - 1)
Caso
Unidades = unidades y strUnits
Extremo selecto
Seleccionar el ajuste del caso (Frac)
Encajonar el ""
Frac = "" '“y no” y strFrac
Caso “uno”
Si unidades = "" después
Frac = Frac y ““y strFrac
Frac = “y uno” y se fueron (strFrac, Len (strFrac) - 1)
Terminar si
Encajonar
Si unidades = "" después
Frac = Frac y ““y strFrac
Frac = “y” y Frac y ““y strFrac
Terminar si
Terminar selecto
Si unidades = "" después
Currency2Words = Frac
Currency2Words = unidades y Frac
Terminar si
Currency2Words = substituyen (ajuste (Currency2Words), “ “,” ")
Función del final
Función privada ConvertHundreds (ByVal MyNumber)
Resultado dévil como secuencia
Si Val (MyNumber) = 0 entonces sale la función
MyNumber = derecho (“000” y MyNumber, 3)
'Centenares
Si está ido (MyNumber, 1) <> “0” entonces
Resultado = ConvertDigit (dejado (MyNumber, 1)) y “cientos”
Terminar si
'diez
Si es mediados de (MyNumber, 2, 1) <> “0” entonces
Resultado = resultado y ConvertTens (mediados de (MyNumber, 2))
Resultado = resultado y ConvertDigit (mediados de (MyNumber, 3))
Terminar si
ConvertHundreds = ajuste (resultado)
Función del final
Función privada ConvertTens (ByVal MyTens)
Resultado dévil como secuencia
¿'Es el valor entre 10 y 19?
Si Val (entonces dejado (MyTens, 1)) = 1
Seleccionar el caso Val (MyTens)
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”
Caso
Extremo selecto
'. si no está entre 20 y 99.
Seleccionar el caso Val (se fue (MyTens, 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”
Caso
Extremo selecto
El 'convertido unos pone el dígito.
Resultado = resultado y ConvertDigit (correctos (MyTens, 1))
Terminar si
ConvertTens = resultado
Función del final
Función privada ConvertDigit (ByVal MyDigit)
Seleccionar el caso Val (MyDigit)
Caso 1: ConvertDigit = “uno”
Caso 2: ConvertDigit = “dos”
Caso 3: ConvertDigit = “tres”
Caso 4: ConvertDigit = “cuatro”
Caso 5: ConvertDigit = “cinco”
Caso 6: ConvertDigit = “seises”
Caso 7: ConvertDigit = “siete”
Caso 8: ConvertDigit = “ocho”
Caso 9: ConvertDigit = “nueve”
Caso: ConvertDigit = ""
Extremo selecto
Función del final
|