1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
|
Fungera spellnumber (numberRange som spänner)
Om numberRange = "" därefter
spellnumber = "",
Annars
spellnumber = Currency2Words (numberRange, ”dunkar”, ”encentmynt”),
Avsluta om
Avsluta fungerar
Fungera Currency2Words (ByVal MyNumber, valfria strUnits, valfri strFrac)
Dunkla vikarier
Dunkla enheter
Dunkla Frac
Dunkla DecimalPlace
Dunkel räkning
Om IsMissing (strUnits) därefter strUnits = ”dollar”,
Om IsMissing (strFrac) därefter strFrac = ”Cents”,
ReDim förlägger (9) som stränger
Förlägga (2) = ”tusen”,
Förlägga (3) = ”miljoner”,
Förlägga (4) = ”miljarden”,
Förlägga (5) = ”triljonen”,
MyNumber = klippning (stren (MyNumber))
DecimalPlace = InStr (MyNumber, ”. ”)
Om DecimalPlace > 0 därefter
Vikarier = lämnat (mitt- (MyNumber, DecimalPlace + 1) & ”00”, 2)
Frac = ConvertTens (vikarie)
MyNumber = lämnad, klippning ((MyNumber, DecimalPlace - 1))
Avsluta om
Räkning = 1
Gör stundMyNumber <> "",
Vikarier = ConvertHundreds (rätten (MyNumber, 3))
Om enheter <> = vikarier för vikarie"" därefter & förlägger (räkningen) & enheter
Om Len (MyNumber) > 3 därefter
MyNumber = lämnat (MyNumber, Len (MyNumber) - 3)
Annars
MyNumber = "",
Avsluta om
Räkning = räkning + 1
Kretsa
Enheter = klippning (enheter) & ””,
Vald fallklippning (enheter)
Fall"",
Enheter = "" '”inte” & strUnits
Fall ”ett”,
Enheter = ”en” & lämnat (strUnits, Len (strUnits) - 1)
Fall annars
Enheter = enheter & strUnits
Avsluta valt
Välj fallklippning (Frac)
Case "",
Frac = "" '”och inte” & strFrac
Fall ”ett”,
Om enheter = "" därefter
Frac = Frac & ””& strFrac
Annars
Frac = ”och en” & lämnat (strFrac, Len (strFrac) - 1)
Avsluta om
Case annars
Om enheter = "" därefter
Frac = Frac & ””& strFrac
Annars
Frac = ”och” & Frac & ””& strFrac
Avsluta om
Avsluta valt
Om enheter = "" därefter
Currency2Words = Frac
Annars
Currency2Words = enheter & Frac
Avsluta om
Currency2Words = byter ut (klippning (Currency2Words), ” ”,” ”)
Avsluta fungerar
Privat fungera ConvertHundreds (ByVal MyNumber)
Dunkelt resultat som stränger
Om Val (MyNumber) = 0 går ut därefter, fungera
MyNumber = högert (”000” & MyNumber, 3)
'Hundreds
Om lämnad (MyNumber, 1) <> ”0” därefter
Resultat = lämnade, ConvertDigit ((MyNumber, 1)) & ”hundra”,
Avsluta om
'tio
Om mitt- (MyNumber, 2, 1) <> ”0” därefter
Resultat = mitt-, resultat & ConvertTens ((MyNumber, 2))
Annars
Resultat = mitt-, resultat & ConvertDigit ((MyNumber, 3))
Avsluta om
ConvertHundreds = klippning (resultatet)
Avsluta fungerar
Privat fungera ConvertTens (ByVal MyTens)
Dunkelt resultat som stränger
'Är värderar mellan 10 och 19?
Om lämnade, Val ((MyTens, 1)) = 1 därefter
Välj fallet Val (MyTens)
Fall 10: Resultat = ”tio”,
Fall 11: Resultat = ”elva”,
Fall 12: Resultat = ”tolv”,
Fall 13: Resultat = ”tretton”,
Fall 14: Resultat = ”fjorton”,
Fall 15: Resultat = ”femton”,
Fall 16: Resultat = ”sexton”,
Fall 17: Resultat = ”sjutton”,
Fall 18: Resultat = ”en arton”,
Fall 19: Resultat = ”nitton”,
Fall annars
Avsluta valt
Annars
'. annorlunda det är mellan 20 och 99.
Välj fallet lämnade, Val ((MyTens, 1))
Fall 2: Resultat = ”tjugo”,
Fall 3: Resultat = ”trettio”,
Fall 4: Resultat = ”Forty”,
Fall 5: Resultat = ”femtio”,
Fall 6: Resultat = ”sextio”,
Fall 7: Resultat = ”sjuttio”,
Fall 8: Resultat = ”åttio”,
Fall 9: Resultat = ”nittio”,
Fall annars
Avsluta valt
'Omvänden en förlägger siffran.
Resultat = resultat & ConvertDigit (rätten (MyTens, 1))
Avsluta om
ConvertTens = resultat
Avsluta fungerar
Privat fungera ConvertDigit (ByVal MyDigit)
Välj fallet Val (MyDigit)
Fall 1: ConvertDigit = ”en”,
Fall 2: ConvertDigit = ”två”,
Fall 3: ConvertDigit = ”tre”,
Fall 4: ConvertDigit = ”fyra”,
Fall 5: ConvertDigit = ”fem”,
Fall 6: ConvertDigit = ”sex”,
Fall 7: ConvertDigit = ”sju”,
Fall 8: ConvertDigit = ”åtta”,
Fall 9: ConvertDigit = ”nio”,
Fall annars: ConvertDigit = "",
Avsluta valt
Avsluta fungerar
|