1
2
3FUNCTION convertsz(sz)
4
5\'PARAMETERS sz
6
7\'PRIVATE xs,sz1,sz2,sz3
8
9IF sz > 1000000000 then \'超过处理范围提示
10
11convertsz=\"Number is too big\" \'数字大于10亿,超过处理范围!
12exit FUNCTION
13END IF
14
15sz=INT(sz*100+0.5)/100 \' 小数超过两位四舍五入
16
17xs=((sz-int(sz))*100) MOD 100 \' 取小数点后两位有效数字
18
19IF xs>0 then
20
21\'cha=\" AND\"&conv3(xs)&\" CENTS\" \' 转换小数
22cha=\" AND \"&xs&\" CENTS\"
23
24ELSE
25
26cha=\"\"
27
28END IF
29
30sz1=INT((sz MOD 1000)) \' sz1为百、十、个3位数字
31
32sz=INT(sz/1000) \' sz为千位以上数字(含千位)
33
34cha=conv3(sz1)&cha \' 转换(sz1)
35
36IF sz>0 then
37
38sz2=(sz MOD 1000) \' sz2为十万、万、千3位数字
39
40sz=INT(sz/1000) \' sz为百万位以上数字(含百万位)
41
42IF sz2=0 then
43
44IF sz1=0 then \' (sz2)如果为\'0\',判断在百位之前是否加\'AND\'
45
46cha=cha
47
48ELSE
49
50cha=\" AND\"&cha
51
52END IF
53
54ELSE
55
56cha=conv3(sz2)&\" THOUSAND\"&cha \' 如果不为\'0\'转换(sz2)
57
58END IF
59
60IF sz>0 then
61
62sz3=(sz MOD 1000) \' sz3为亿、千万、百万3位数字
63
64cha=conv3(sz3)&\" MILLION\"&cha \' 转换(sz3)
65
66END IF
67
68END IF
69
70\'cha=\"DOLLAR\"&cha \' 在转换的结果之前加\'DOLLAR\'
71
72\'RETURN cha
73convertsz=cha
74
75end FUNCTION
76
77
78FUNCTION conv3(je)
79
80\'PARAMETERS je
81
82\'PRIVATE jews,je1,je2,je3,tmp
83
84IF je<=0 then
85
86convertsz=\"\"
87exit FUNCTION
88
89END IF
90
91je1=(je MOD 10)
92
93je=INT(je/10)
94
95IF je=0 then \' 判断数字位数(1-3)并把3位数字分别存放在je1、je2、je3中
96
97jews=1
98
99ELSE
100
101je2=(je MOD 10)
102
103je=INT(je/10)
104
105IF je=0 then
106
107jews=2
108
109ELSE
110
111je3=(je MOD 10)
112
113jews=3
114
115END IF
116
117END IF
118
119IF jews=1 then
120
121tmp=conv1(je1) \'如果位数为1,直接转换
122
123conv3=tmp
124
125\'exit FUNCTION
126\'RETURN tmp
127
128ELSE
129
130IF je1+10*je2<20 then \' 转换20以下数字
131
132tmp=conv1(je1+10*je2)
133
134ELSE \' 转换20-99数字
135
136IF je1=0 then
137
138tmp=conv2(je2)
139
140ELSE
141
142\'tmp=conv2(je2)&\" -\"&conv1(je1)
143tmp=conv2(je2)&conv1(je1)
144
145
146END IF
147
148END IF
149
150IF jews=3 then \'转换百位数字
151
152IF je1+10*je2=0 then
153
154tmp=conv1(je3)&\" HUNDRED\"
155
156ELSE
157
158IF je1+10*je2<20 then
159
160tmp=conv1(je3)&\" HUNDRED AND\"&tmp
161
162ELSE
163
164tmp=conv1(je3)&\" HUNDRED\"&tmp
165
166END IF
167
168END IF
169
170END IF
171
172conv3=tmp
173
174END IF
175
176end FUNCTION
177
178
179FUNCTION conv2(SUM)
180
181\'PARAMETERS SUM
182aaa=\"\"
183select CASE SUM
184
185CASE 2
186
187aaa=\" TWENTY\"
188
189CASE 3
190
191aaa=\" THIRTY\"
192
193CASE 4
194
195aaa=\" FORTY\"
196
197CASE 5
198
199aaa=\" FIFTY\"
200
201CASE 6
202
203aaa=\" SIXTY\"
204
205CASE 7
206
207aaa=\" SEVENTY\"
208
209CASE 8
210
211aaa=\" EIGHTY\"
212
213CASE 9
214
215aaa=\" NINETY\"
216
217
218
219END select
220
221conv2=aaa
222
223end FUNCTION
224
225
226FUNCTION conv1(SUM)
227
228\'PARAMETERS SUM
229aaa=\"\"
230select CASE SUM
231
232CASE 1
233
234aaa=\" ONE\"
235
236CASE 2
237
238aaa=\" TWO\"
239
240CASE 3
241
242aaa=\" THREE\"
243
244CASE 4
245
246aaa=\" FOUR\"
247
248CASE 5
249
250aaa=\" FIVE\"
251
252CASE 6
253
254aaa=\" SIX\"
255
256CASE 7
257
258aaa=\" SEVEN\"
259
260CASE 8
261
262aaa=\" EIGHT\"
263
264CASE 9
265
266aaa=\" NINE\"
267
268CASE 10
269
270aaa=\" TEN\"
271
272CASE 11
273
274aaa=\" ELEVEN\"
275
276CASE 12
277
278aaa=\" TWELVE\"
279
280CASE 13
281
282aaa=\" THIRTEEN\"
283
284CASE SUM=14
285
286aaa=\" FOURTEEN\"
287
288CASE 15
289
290aaa=\" FIFTEEN\"
291
292CASE 16
293
294aaa=\" SIXTEEN\"
295
296CASE 17
297
298aaa=\" SEVENTEEN\"
299
300CASE 18
301
302aaa=\" EIGHTEEN\"
303
304CASE SUM=19
305
306aaa=\" NINETEEN\"
307
308
309
310END select
311
312conv1=aaa
313
314end FUNCTION
315
316
317fff=123456789.45
318
319response.write fff&\"
<br/>
1\"
2
3xx=convertsz(fff)
4
5
6response.write xx
7