Frage : SpellNumber

Warum, wenn I '' SpellNumber (A1) '' es tut, setzen „UND“ vor Nr. größer als 10.000.000 ein? Ist es, weil die Zellen, die es umwandelt, Währungformat? sind? Und warum, wenn dort Pennys, bezogen es einsetzt „und“ in Kleinschreibung mit ein? Hilfe! Thanks

Antwort : SpellNumber

Wieder ist aller Code enthalten und es gibt zwei Verlegenheiten,
freier Raum bringt freien Raum zurück
1 bringt eine pund d.h. Eigenheit zurück

Chris
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:
6:
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:
Funktion spellnumber (numberRange als Strecke)
    Wenn numberRange = "" dann
        spellnumber = ""
    Sonst
        spellnumber = Currency2Words (numberRange, „lbs“, „Pennys“)
    Beenden wenn
Funktion beenden

Funktion Currency2Words (ByVal MyNumber, wahlweise freigestellte strUnits, wahlweise freigestelltes strFrac)
Schwacher Temp
Schwache Maßeinheiten
Schwaches Frac
Schwaches DecimalPlace
Zählimpuls verdunkeln

    Wenn IsMissing (strUnits) dann strUnits = „Dollar“
    Wenn IsMissing (strFrac) dann strFrac = „Cents“
    ReDim Platz (9) als Schnur
    Setzen (2) = „tausend“
    Setzen (3) = „Million“
    Setzen (4) = „Milliarde“
    Setzen (5) = „Trillion“

         
    MyNumber = Ordnung (str (MyNumber))
    DecimalPlace = InStr (MyNumber, „.")
    Wenn DecimalPlace > 0 dann
        Temp = verließ (mittler (MyNumber, DecimalPlace + 1) u. „00“, 2)
        Frac = ConvertTens (Temp)
        MyNumber = Ordnung (link (MyNumber, DecimalPlace - 1))
    Beenden wenn

    Zählimpuls = 1
    Tun, während MyNumber <> ""
        Temp = ConvertHundreds (recht (MyNumber, 3))
        Wenn Temp <> "" dann Maßeinheiten = Temp u. Platz (Zählimpuls) u. Maßeinheiten
        Wenn Len (MyNumber) > 3 dann
          MyNumber = verlassen (MyNumber, Len (MyNumber) - 3)
       Sonst
          MyNumber = ""
       Beenden wenn
       Zählimpuls = Zählimpuls + 1
    Schleife

    Maßeinheiten = Ordnung (Maßeinheiten) u. „„
    Fall-Ordnung (Maßeinheiten) vorwählen
       "" Umkleiden
          Maßeinheiten = "" '„nicht“ u. strUnits
       Fall „einer“
          Maßeinheiten = „eine“ u. verließen (strUnits, Len (strUnits) - 1)
       Fall sonst
          Maßeinheiten = Maßeinheiten u. strUnits
    Ende auserwählt
    Fall-Ordnung (Frac) vorwählen
       "" Umkleiden
          Frac = "" '„und nicht“ u. strFrac
       Fall „einer“
          Wenn Maßeinheiten = "" dann
            Frac = Frac u. „„u. strFrac
          Sonst
            Frac = „und eins“ u. verließen (strFrac, Len (strFrac) - 1)
        Beenden wenn
       Sonst umkleiden
          Wenn Maßeinheiten = "" dann
            Frac = Frac u. „„u. strFrac
          Sonst
            Frac = „und“ u. Frac u. „„u. strFrac
          Beenden wenn
    Auserwähltes beenden

    Wenn Maßeinheiten = "" dann
        Currency2Words = Frac
    Sonst
        Currency2Words = Maßeinheiten u. Frac
    Beenden wenn
    Currency2Words = ersetzen (Ordnung (Currency2Words), „  „,“ ")
Enden-Funktion

Private Funktion ConvertHundreds (ByVal MyNumber)
Schwaches Resultat als Schnur

    Wenn Val (MyNumber) = 0 dann Funktion herausnehmen
    MyNumber = recht („000“ u. MyNumber, 3)

    'Hunderte
    Wenn Sie verlassen werden (MyNumber, 1) <> „0“ dann
       Resultat = ConvertDigit (gelassen (MyNumber, 1)) u. „hundert“
    Beenden wenn

    '10
    Wenn mittler (MyNumber, 2, 1) <> „0“ dann
       Resultat = Resultat u. ConvertTens (mittler (MyNumber, 2))
    Sonst
       Resultat = Resultat u. ConvertDigit (mittler (MyNumber, 3))
    Beenden wenn

    ConvertHundreds = Ordnung (Resultat)
Enden-Funktion

Private Funktion ConvertTens (ByVal MyTens)
Schwaches Resultat als Schnur

    'Ist Wert zwischen 10 und 19?
    Wenn Val ((MyTens, 1)) = 1 dann gelassen
        Fall Val (MyTens) vorwählen
            Rechtssache 10: Resultat = „10“
            Rechtssache 11: Resultat = „elf“
            Rechtssache 12: Resultat = „zwölf“
            Rechtssache 13: Resultat = „dreizehn“
            Rechtssache 14: Resultat = „vierzehn“
            Rechtssache 15: Resultat = „fünfzehn“
            Rechtssache 16: Resultat = „sechzehn“
            Rechtssache 17: Resultat = „siebzehn“
            Rechtssache 18: Resultat = „achtzehn“
            Rechtssache 19: Resultat = „neunzehn“
            Fall sonst
        Ende auserwählt
    Sonst
        '. andernfalls ist es zwischen 20 und 99.
        Fall Val vorwählen (verließ (MyTens, 1))
            Rechtssache 2: Resultat = „Zwanzig“
            Rechtssache 3: Resultat = „dreißig“
            Rechtssache 4: Resultat = „vierzig“
            Rechtssache 5: Resultat = „fünfzig“
            Rechtssache 6: Resultat = „sechzig“
            Rechtssache 7: Resultat = „siebzig“
            Rechtssache 8: Resultat = „achtzig“
            Rechtssache 9: Resultat = „neunzig“
            Fall sonst
        Ende auserwählt

        'Bekehrter eine setzen Stelle.
        Resultat = Resultat u. ConvertDigit (recht (MyTens, 1))
    Beenden wenn

    ConvertTens = Resultat
Enden-Funktion

Private Funktion ConvertDigit (ByVal MyDigit)
    Fall Val (MyDigit) vorwählen
        Rechtssache 1: ConvertDigit = „eins“
        Rechtssache 2: ConvertDigit = „zwei“
        Rechtssache 3: ConvertDigit = „drei“
        Rechtssache 4: ConvertDigit = „vier“
        Rechtssache 5: ConvertDigit = „fünf“
        Rechtssache 6: ConvertDigit = „sechs“
        Rechtssache 7: ConvertDigit = „sieben“
        Rechtssache 8: ConvertDigit = „acht“
        Rechtssache 9: ConvertDigit = „neun“
        Fall sonst: ConvertDigit = ""
    Ende auserwählt
Enden-Funktion
Weitere Lösungen  
 
programming4us programming4us