Spellnumber di funzione (numberRange come gamma)
Se numberRange = "" allora
spellnumber = ""
Altrimenti
spellnumber = Currency2Words (numberRange, “libbre„, “penny„)
Concluder se
Concludere la funzione
Funzione Currency2Words (ByVal MyNumber, strUnits facoltativi, strFrac facoltativo)
Temp fioco
Unità fioche
Frac fioco
DecimalPlace fioco
Oscurare il conteggio
Se strUnits di IsMissing (strUnits) allora = “dollari„
Se strFrac di IsMissing (strFrac) allora = “centesimi„
Posto di ReDim (9) come stringa
Disporre (2) = “mille„
Disporre (3) = “milioni„
Disporre (4) = “miliardo„
Disporre (5) = “trilione„
MyNumber = disposizione (streptococco (MyNumber))
DecimalPlace = InStr (MyNumber, “.")
Se DecimalPlace > 0 allora
Il Temp = ha andato (metà di (MyNumber, DecimalPlace + 1) & “00„, 2)
Frac = ConvertTens (Temp)
MyNumber = disposizione (di sinistra (MyNumber, DecimalPlace - 1))
Concluder se
Conteggio = 1
Fare mentre "" <> di MyNumber
Temp = ConvertHundreds (di destra (MyNumber, 3))
Se unità <> = Temp & posto (conteggio) & unità del "" del Temp allora
Se Len (MyNumber) > 3 allora
MyNumber = andato (MyNumber, Len (MyNumber) - 3)
Altrimenti
MyNumber = ""
Concluder se
Conteggio = conteggio + 1
Ciclo
Unità = disposizione (unità) & ““
Selezionare la disposizione di caso (unità)
Mettere il ""
Unità = "" '“no„ & strUnits
Caso “uno„
Le unità = “una„ & hanno andato (strUnits, Len (strUnits) - 1)
Caso altrimenti
Unità = unità & strUnits
Estremità prescelta
Selezionare la disposizione di caso (Frac)
Mettere il ""
Frac = "" '“e no„ & strFrac
Caso “uno„
Se unità = "" allora
Frac = Frac & ““& strFrac
Altrimenti
Frac = “ed uno„ & hanno andato (strFrac, Len (strFrac) - 1)
Concluder se
Mettere altrimenti
Se unità = "" allora
Frac = Frac & ““& strFrac
Altrimenti
Frac = “e„ & Frac & ““& strFrac
Concluder se
Concludere prescelto
Se unità = "" allora
Currency2Words = Frac
Altrimenti
Currency2Words = unità & Frac
Concluder se
Currency2Words = sostituiscono (disposizione (Currency2Words), “ “,„ ")
Funzione di conclusione
Funzione riservata ConvertHundreds (ByVal MyNumber)
Risultato fioco come stringa
Se Val (MyNumber) = 0 allora esce la funzione
MyNumber = di destra (“000„ & MyNumber, 3)
'Centinaia
Se andato (MyNumber, 1) <> “0„ allora
Risultato = ConvertDigit (lasciato (MyNumber, 1)) & “cento„
Concluder se
'dieci
Se metà di (MyNumber, 2, 1) <> “0„ allora
Risultato = risultato & ConvertTens (metà di (MyNumber, 2))
Altrimenti
Risultato = risultato & ConvertDigit (metà di (MyNumber, 3))
Concluder se
ConvertHundreds = disposizione (risultato)
Funzione di conclusione
Funzione riservata ConvertTens (ByVal MyTens)
Risultato fioco come stringa
'È il valore fra 10 e 19?
Se Val (allora lasciato (MyTens, 1)) = 1
Selezionare il caso Val (MyTens)
Caso 10: Risultato = “dieci„
Caso 11: Risultato = “undici„
Caso 12: Risultato = “dodici„
Caso 13: Risultato = “tredici„
Caso 14: Risultato = “quattordici„
Caso 15: Risultato = “quindici„
Caso 16: Risultato = “sedici„
Caso 17: Risultato = “diciassette„
Caso 18: Risultato = “diciotto„
Caso 19: Risultato = “diciannove„
Caso altrimenti
Estremità prescelta
Altrimenti
'. altrimenti è fra 20 e 99.
Selezionare il caso Val (ha andato (MyTens, 1))
Caso 2: Risultato = “venti„
Caso 3: Risultato = “trenta„
Caso 4: Risultato = “quaranta„
Caso 5: Risultato = “cinquanta„
Caso 6: Risultato = “sessanta„
Caso 7: Risultato = “settanta„
Caso 8: Risultato = “ottanta„
Caso 9: Risultato = “novanta„
Caso altrimenti
Estremità prescelta
'Il convertito un dispone la cifra.
Risultato = risultato & ConvertDigit (di destra (MyTens, 1))
Concluder se
ConvertTens = risultato
Funzione di conclusione
Funzione riservata ConvertDigit (ByVal MyDigit)
Selezionare il caso Val (MyDigit)
Caso 1: ConvertDigit = “uno„
Caso 2: ConvertDigit = “due„
Caso 3: ConvertDigit = “tre„
Caso 4: ConvertDigit = “quattro„
Caso 5: ConvertDigit = “cinque„
Caso 6: ConvertDigit = “sei„
Caso 7: ConvertDigit = “sette„
Caso 8: ConvertDigit = “otto„
Caso 9: ConvertDigit = “nove„
Caso altrimenti: ConvertDigit = ""
Estremità prescelta
Funzione di conclusione
|