Question : SpellNumber

Pourquoi quand I '' SpellNumber (A1) '' fait il s'insèrent « ET » avant les nombres plus en grande partie que 10.000.000 ? Est-il parce que les cellules qu'il convertit sont format de devise ? ? Et pourquoi, si là des penny sont-il impliqués s'insère-t-il « et » en minuscules ? Aide ! Thanks class= de

Réponse : SpellNumber

Encore tout le code est inclus et il y a deux difficultés,
le blanc renvoie le blanc
1 renvoie un singulier de pund c.-à-d.

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 :
Spellnumber de fonction (numberRange comme gamme)
    Si numberRange = puis ""
        spellnumber = ""
    Autrement
        spellnumber = Currency2Words (numberRange, « livres », « penny »)
    Finir si
Finir la fonction

Fonction Currency2Words (ByVal MyNumber, strUnits facultatifs, strFrac facultatif)
Faible Temp
Faibles unités
Faible Frac
Faible DecimalPlace
Obscurcir le compte

    Si strUnits d'IsMissing (strUnits) puis = « dollars »
    Si strFrac d'IsMissing (strFrac) puis = « cents »
    Endroit de ReDim (9) comme corde
    Placer (2) = « mille »
    Placer (3) = « millions »
    Placer (4) = « milliards »
    Placer (5) = « trillion »

         
    MyNumber = équilibre (streptocoque (MyNumber))
    DecimalPlace = InStr (MyNumber, « .")
    Si DecimalPlace > 0 puis
        Le Temp = est parti (mi (MyNumber, DecimalPlace + 1) et « 00 », 2)
        Frac = ConvertTens (Temp)
        MyNumber = équilibre (gauche (MyNumber, DecimalPlace - 1))
    Finir si

    Compte = 1
    Faire tandis que "" <> de MyNumber
        Temp = ConvertHundreds (droit (MyNumber, 3))
        Si unités <> = Temp et endroit (compte) et unités de "" de Temp puis
        Si Len (MyNumber) > 3 puis
          MyNumber = parti (MyNumber, Len (MyNumber) - 3)
       Autrement
          MyNumber = ""
       Finir si
       Compte = compte + 1
    Boucle

    Unités = équilibre (unités) et « « 
    Choisir l'équilibre de cas (les unités)
       Enfermer le ""
          Unités = "" '« pas » et strUnits
       Cas « un »
          Les unités = « une » et sont parties (strUnits, Len (strUnits) - 1)
       Cas autrement
          Unités = unités et strUnits
    Extrémité choisie
    Choisir l'équilibre de cas (Frac)
       Enfermer le ""
          Frac = "" '« et pas » et strFrac
       Cas « un »
          Si unités = puis ""
            Frac = Frac et « « et strFrac
          Autrement
            Frac = « et un » et sont partis (strFrac, Len (strFrac) - 1)
        Finir si
       Enfermer autrement
          Si unités = puis ""
            Frac = Frac et « « et strFrac
          Autrement
            Frac = « et » et Frac et « « et strFrac
          Finir si
    Finir choisi

    Si unités = puis ""
        Currency2Words = Frac
    Autrement
        Currency2Words = unités et Frac
    Finir si
    Currency2Words = remplacent (équilibre (Currency2Words), «   « , » ")
Fonction de fin

Fonction privée ConvertHundreds (ByVal MyNumber)
Faible résultat comme corde

    Si Val (MyNumber) = 0 sortent alors la fonction
    MyNumber = droit (« 000 » et MyNumber, 3)

    'Centaines
    Si parti (MyNumber, 1) <> « 0 » puis
       Résultat = ConvertDigit (laissé (MyNumber, 1)) et « cent »
    Finir si

    'dix
    Si mi (MyNumber, 2, 1) <> « 0 » puis
       Résultat = résultat et ConvertTens (mi (MyNumber, 2))
    Autrement
       Résultat = résultat et ConvertDigit (mi (MyNumber, 3))
    Finir si

    ConvertHundreds = équilibre (résultat)
Fonction de fin

Fonction privée ConvertTens (ByVal MyTens)
Faible résultat comme corde

    'La valeur est-elle entre 10 et 19 ?
    Si Val (laissé (MyTens, 1)) = 1 alors
        Choisir le cas Val (MyTens)
            Affaire 10 : Résultat = « Dix »
            Affaire 11 : Résultat = « onze »
            Affaire 12 : Résultat = « douze »
            Affaire 13 : Résultat = « treize »
            Affaire 14 : Résultat = « quatorze »
            Affaire 15 : Résultat = « quinze »
            Affaire 16 : Résultat = « seize »
            Affaire 17 : Résultat = « dix-sept »
            Affaire 18 : Résultat = « dix-huit »
            Affaire 19 : Résultat = « dix-neuf »
            Cas autrement
        Extrémité choisie
    Autrement
        '. autrement elle est entre 20 et 99.
        Choisir le cas Val (est parti (MyTens, 1))
            Affaire 2 : Résultat = « vingt »
            Affaire 3 : Résultat = « trente »
            Affaire 4 : Résultat = « quarante »
            Affaire 5 : Résultat = « cinquante »
            Affaire 6 : Résultat = « soixante »
            Affaire 7 : Résultat = « soixante-dix »
            Affaire 8 : Résultat = « quatre-vingts »
            Affaire 9 : Résultat = « quatre-vingt-dix »
            Cas autrement
        Extrémité choisie

        Le 'converti ceux placent le chiffre.
        Résultat = résultat et ConvertDigit (droits (MyTens, 1))
    Finir si

    ConvertTens = résultat
Fonction de fin

Fonction privée ConvertDigit (ByVal MyDigit)
    Choisir le cas Val (MyDigit)
        Affaire 1 : ConvertDigit = « un »
        Affaire 2 : ConvertDigit = « deux »
        Affaire 3 : ConvertDigit = « trois »
        Affaire 4 : ConvertDigit = « quatre »
        Affaire 5 : ConvertDigit = « cinq »
        Affaire 6 : ConvertDigit = « six »
        Affaire 7 : ConvertDigit = « sept »
        Affaire 8 : ConvertDigit = « huit »
        Affaire 9 : ConvertDigit = « neuf »
        Cas autrement : ConvertDigit = ""
    Extrémité choisie
Fonction de fin
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us