//////////////////////////////////////////////////////////////////////
//
//将钱数转化为大写(18位,如有特殊要求可修改参数为double,给ls_bit添加单位)
// arg : decimal data
//
//////////////////////////////////////////////////////////////////////
string ls_bit[18] = {'仟','佰','拾','万','仟','佰','拾','亿','仟','佰','拾','万','仟','佰','拾','元','角','分'}
string ls_num[9] = {'壹','贰','叁','肆','伍','陆','柒','捌','玖'}
string ls_r = '', ls_je, ls_c
long i, k
ls_je = string( data * 100, fill( '#', 18 - 1 ) + '0' )
k = 18 - len( ls_je ) + 1
for i = k to 18
ls_c = mid( ls_je, i - k + 1, 1 )
if ls_c = '0' then
if pos( ls_bit[i - 1], '零' ) > 0 then ls_bit[i - 1] = '';
if ls_bit[i] <> '亿' and ls_bit[i] <> '万' and ls_bit[i] <> '元' then ls_bit[i] = '零'
else
ls_bit[i] = ls_num[long(ls_c)] + ls_bit[i]
end if
next
if ls_c = '0' then ls_bit[18] = '整'
if ls_bit[9] = '' and ls_bit[10] = '' and ls_bit[11] = '' then ls_bit[12] = ''
for i = k to 18
ls_r = ls_r + ls_bit[i]
next
return ls_
string SL,JE,M,DXJE
integer N,I,J,W
SL="零壹贰叁肆伍陆柒捌玖拾"
JE="分角元拾佰仟万拾佰仟亿"
M=trim(XXJE)
N=pos(M,".")
M=replace(M,N,1,"")//去掉小数点用“”代替
N=len(M)
J=N; DXJE=" " //Initialize
for I=1 to N
W=integer(mid(M,I,1))
if W>0 then
DXJE=DXJE + mid(SL,W + 1,1)
DXJE=DXJE + mid(JE,J,1)
ElseIf W=0 then
if mid(JE,J,1)="万" then
DXJE=DXJE + mid(JE,J,1)
ElseIF mid(JE,J,1)="元" then
if Len(M)=3 then
DXJE=DXJE+"零"
end if
DXJE=DXJE + "元"
if integer(mid(M,I + 1,1))>0 and Len(M) > 3 then
DXJE=DXJE + Mid(SL,W + 1,1)
end if
ELSEIf integer(mid(M,I + 1,1))>0 then
DXJE=DXJE + mid(SL,W + 1,1)
ElseIf integer(mid(M,I)) = 0 then
if J >= 7 then DXJE=DXJE + "万"
if J >= 3 then DXJE=DXJE + "元"
DXJE =DXJE + "整"
EXIT
End if
End if
J=J - 1
Next
return DXJE
本文作者:网友 来源:网络收集