Pytanie : SpellNumber

Dlaczego gdy I '' SpellNumber (A1) '' ono "I" przed liczba wielki niż 10,000,000? Być ono ponieważ the komórka ono nawracać być waluta format?? I dlaczego, jeżeli tam  pens wymagać ono wkładać "i" w lowercase? Pomoc! Thanks

Odpowiedź : SpellNumber

Znowu wszystkie kod być wszystkie i tam  być dwa dylemat,
puste miejsce wracać puste miejsce
(1) wracać jeden pund i.e singular

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:
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:
Funkcja spellnumber (numberRange Pasmo)
    Jeżeli numberRange = "" Wtedy
        spellnumber = ""
    Inny
        spellnumber = Currency2Words (numberRange, "Funt", "Pens")
    Kończyć Jeżeli
Kończyć Funkcja

Funkcja Currency2Words (ByVal MyNumber, Fakultatywny strUnits, Fakultatywny strFrac)
Ciemnawy Zastępca
Ciemnawy Jednostka
Ciemnawy Frac
Ciemnawy DecimalPlace
Ćmić Obliczenie

    Jeżeli IsMissing (strUnits) Wtedy strUnits = "Dolar"
    Jeżeli IsMissing (strFrac) Wtedy strFrac = "Cent"
    ReDim Miejsce (9) Sznurek
    Miejsce (2) = "Tysiąc"
    Miejsce (3) = "Milion"
    Miejsce (4) = "Miliard"
    Miejsce (5) = "Trylion"

         
    MyNumber = Podstrzyżenie (str (MyNumber))
    DecimalPlace = InStr (MyNumber, ".")
    Jeżeli DecimalPlace > (0) Wtedy
        Zastępca = Opuszczać (W połowie (MyNumber, DecimalPlace + 1) & "00", 2)
        Frac = ConvertTens (Zastępca)
        MyNumber = Podstrzyżenie (Lewy (MyNumber, DecimalPlace - 1))
    Kończyć Jeżeli

    Obliczenie = (1)
    Robić Podczas Gdy MyNumber <> ""
        Zastępca = ConvertHundreds (Prawy (MyNumber, 3))
        Jeżeli Zastępca <> "" Wtedy Jednostka = Zastępca & Miejsce (Obliczenie) & Jednostka
        Jeżeli Len (MyNumber) > 3 Wtedy
          MyNumber = Opuszczać (MyNumber, Len (MyNumber) - 3)
       Inny
          MyNumber = ""
       Kończyć Jeżeli
       Obliczenie = Obliczenie + (1)
    Pętla

    Jednostka = Podstrzyżenie (Jednostka) & ""
    Wybrany Skrzynka Podstrzyżenie (Jednostka)
       Skrzynka ""
          Jednostka = "" '"Nie" & strUnits
       Skrzynka "Jeden"
          Jednostka = "Jeden" & Opuszczać (strUnits, Len (strUnits) - 1)
       Skrzynka Inny
          Jednostka = Jednostka & strUnits
    Końcówka Wybiórka
    Wybrany Skrzynka Podstrzyżenie (Frac)
       Skrzynka ""
          Frac = "" '"I Nie" & strFrac
       Skrzynka "Jeden"
          Jeżeli Jednostka = "" Wtedy
            Frac = Frac & ""& strFrac
          Inny
            Frac = "I Jeden" & Opuszczać (strFrac, Len (strFrac) - 1)
        Kończyć Jeżeli
       Pakować Inny
          Jeżeli Jednostka = "" Wtedy
            Frac = Frac & ""& strFrac
          Inny
            Frac = "i" & Frac & ""& strFrac
          Kończyć Jeżeli
    Kończyć Wybiórka

    Jeżeli Jednostka = "" Wtedy
        Currency2Words = Frac
    Inny
        Currency2Words = Jednostka & Frac
    Kończyć Jeżeli
    Currency2Words = Zamieniać (Podstrzyżenie (Currency2Words), "  "," ")
Końcówka Funkcja

Intymny Funkcja ConvertHundreds (ByVal MyNumber)
Ciemnawy Rezultat Sznurek

    Jeżeli Val (MyNumber) = (0) Wtedy Wychodzić Funkcja
    MyNumber = Prawy ("000" & MyNumber, 3)

    'Setki
    Jeżeli Opuszczać (MyNumber, 1) <> "(0)" Wtedy
       Rezultat = ConvertDigit (Opuszczać (MyNumber, 1)) & "Sto"
    Kończyć Jeżeli

    'dziesięć
    Jeżeli W połowie (MyNumber, 2, 1) <> "(0)" Wtedy
       Rezultat = Rezultat & ConvertTens (W połowie (MyNumber, 2))
    Inny
       Rezultat = Rezultat & ConvertDigit (W połowie (MyNumber, 3))
    Kończyć Jeżeli

    ConvertHundreds = Podstrzyżenie (Rezultat)
Końcówka Funkcja

Intymny Funkcja ConvertTens (ByVal MyTens)
Ciemnawy Rezultat Sznurek

    'Być wartość między 10 i 19?
    Jeżeli Val (Opuszczać (MyTens, 1)) = (1) Wtedy
        Wybrany Skrzynka Val (MyTens)
            Skrzynka 10: Rezultat = "Dziesięć"
            Skrzynka 11: Rezultat = "Jedenaście"
            Skrzynka 12: Rezultat = "Dwanaście"
            Skrzynka 13: Rezultat = "Trzynaście"
            Skrzynka 14: Rezultat = "Czternaście"
            Skrzynka 15: Rezultat = "Piętnaście"
            Skrzynka 16: Rezultat = "Szesnaście"
            Skrzynka 17: Rezultat = "Siedemnaście"
            Skrzynka 18: Rezultat = "Osiemnaście"
            Skrzynka 19: Rezultat = "Dziewiętnaście"
            Skrzynka Inny
        Końcówka Wybiórka
    Inny
        '. inaczej ono być między 20 i 99.
        Wybrany Skrzynka Val (Opuszczać (MyTens, 1))
            Skrzynka 2: Rezultat = "Dwadzieścia"
            Skrzynka 3: Rezultat = "Trzydzieści"
            Skrzynka 4: Rezultat = "Czterdzieści"
            Skrzynka 5: Rezultat = "Pięćdziesiąt"
            Skrzynka 6: Rezultat = "Sześćdziesiąt"
            Skrzynka 7: Rezultat = "Siedemdziesiąt"
            Skrzynka 8: Rezultat = "Osiemdziesiąt"
            Skrzynka 9: Rezultat = "Dziewiećdziesiąt"
            Skrzynka Inny
        Końcówka Wybiórka

        'Konwertyta cyfra umieszczać cyfra.
        Rezultat = Rezultat & ConvertDigit (Prawy (MyTens, 1))
    Kończyć Jeżeli

    ConvertTens = Rezultat
Końcówka Funkcja

Intymny Funkcja ConvertDigit (ByVal MyDigit)
    Wybrany Skrzynka Val (MyDigit)
        Skrzynka (1): ConvertDigit = "Jeden"
        Skrzynka 2: ConvertDigit = "Dwa"
        Skrzynka 3: ConvertDigit = "Trzy"
        Skrzynka 4: ConvertDigit = "Cztery"
        Skrzynka 5: ConvertDigit = "Pięć"
        Skrzynka 6: ConvertDigit = "Sześć"
        Skrzynka 7: ConvertDigit = "Siedem"
        Skrzynka 8: ConvertDigit = "Osiem"
        Skrzynka 9: ConvertDigit = "Dziewięć"
        Skrzynka Inny: ConvertDigit = ""
    Końcówka Wybiórka
Końcówka Funkcja
Inne rozwiązania  
 
programming4us programming4us