建议入精华,方便需要写英文软件的朋友!
<%
FUNCTION convertsz(sz)
'PARAMETERS sz
'PRIVATE xs,sz1,sz2,sz3
IF sz > 1000000000 then '超过处理范围提示
convertsz="Number is too big" '数字大于10亿,超过处理范围!
exit FUNCTION
END IF
sz=INT(sz*100+0.5)/100 ' 小数超过两位四舍五入
xs=((sz-int(sz))*100) MOD 100 ' 取小数点后两位有效数字
IF xs>0 then
'cha=" AND"&conv3(xs)&" CENTS" ' 转换小数
cha=" AND "&xs&" CENTS"
ELSE
cha=""
END IF
sz1=INT((sz MOD 1000)) ' sz1为百、十、个3位数字
sz=INT(sz/1000) ' sz为千位以上数字(含千位)
cha=conv3(sz1)&cha ' 转换(sz1)
IF sz>0 then
sz2=(sz MOD 1000) ' sz2为十万、万、千3位数字
sz=INT(sz/1000) ' sz为百万位以上数字(含百万位)
IF sz2=0 then
IF sz1=0 then ' (sz2)如果为'0',判断在百位之前是否加'AND'
cha=cha
ELSE
cha=" AND"&cha
END IF
ELSE
cha=conv3(sz2)&" THOUSAND"&cha ' 如果不为'0'转换(sz2)
END IF
IF sz>0 then
sz3=(sz MOD 1000) ' sz3为亿、千万、百万3位数字
cha=conv3(sz3)&" MILLION"&cha ' 转换(sz3)
END IF
END IF
'cha="DOLLAR"&cha ' 在转换的结果之前加'DOLLAR'
'RETURN cha
convertsz=cha
end FUNCTION
FUNCTION conv3(je)
'PARAMETERS je
'PRIVATE jews,je1,je2,je3,tmp
IF je<=0 then
convertsz=""
exit FUNCTION
END IF
je1=(je MOD 10)
je=INT(je/10)
IF je=0 then ' 判断数字位数(1-3)并把3位数字分别存放在je1、je2、je3中
jews=1
ELSE
je2=(je MOD 10)
je=INT(je/10)
IF je=0 then
jews=2
ELSE
je3=(je MOD 10)
jews=3
END IF
END IF
IF jews=1 then
tmp=conv1(je1) '如果位数为1,直接转换
conv3=tmp
'exit FUNCTION
'RETURN tmp
ELSE
IF je1+10*je2<20 then ' 转换20以下数字
tmp=conv1(je1+10*je2)
ELSE ' 转换20-99数字
IF je1=0 then
tmp=conv2(je2)
ELSE
'tmp=conv2(je2)&" -"&conv1(je1)
tmp=conv2(je2)&conv1(je1)
END IF
END IF
IF jews=3 then '转换百位数字
IF je1+10*je2=0 then
tmp=conv1(je3)&" HUNDRED"
ELSE
IF je1+10*je2<20 then
tmp=conv1(je3)&&