水晶報表中小寫變大寫的函數-VB

Function total (ls as number) as string

dim dx_sz as string

dim dx_dw as string

dim str_int as string

dim str_dec as string

dim dx_str as string

dim fu as string

dim a as string

dim b as string

dim c as string

dim d as string

dim b2 as string

dim num_int as number

dim num_dec as number

dim len_int as number

dim i as number

dim a_int as number

dim pp as number

dx_sz="零壹贰叁肆伍陆柒捌玖"

dx_dw="万仟佰拾亿仟佰拾万仟佰拾圆"

if ls=0 then dx_str="零圆整"

if ls<0 then

ls=abs(ls)

fu="负"

else

fu=""

end if

dx_str=CStr (ls)

dx_str=Replace (dx_str,"¥","")

dx_str=replace(dx_str,",","")

if (ls>=0) and (ls<1) then dx_str="0"+dx_str

pp=InStr (dx_str,".")

if pp>0 then

str_int=mid(dx_str,1,instr(dx_str,".")-1)

else

str_int=dx_str

end if

num_int=ToNumber (str_int)

if (ls>0) and (ls<1) then

num_dec =  ls*100

else

num_dec=(ls-num_int)*100

end if

str_dec=totext(num_dec)

str_dec=replace(str_dec,"¥","")

len_int=len(str_int)

dx_str=""

for i=1 to len_int

a=mid(str_int,i,1)

a_int=tonumber(a)

b=mid(dx_sz,(a_int+1),1)

c=mid(dx_dw,(13-len_int+i),1)

if dx_str<>"" then

d=mid(dx_str,len(dx_str)-1,1)

else

d=""

end if

if(b="零") and ((d="零") or (b=b2) or (c="圆") or (c="万") or (c="亿")) then b=""

if(a="0") and (c<>"圆") and (c<>"万") and (c<>"亿") then c=""

if((c="圆") or (c="万") or (c="亿")) and (d="零") and (a="0") then

dx_str=mid(dx_str,1,len(dx_str)-2)

d=mid(dx_str,len(dx_str)-1,2)

if((c="圆") and (d="万"))or((c="万") and (d="亿")) then c=""

end if

dx_str=dx_str+b+c

b2=b

next i

'处理金额小于1的情况

if len(dx_str)<=2 then dx_str=""

if(num_dec<10)and(ls>0) then

a_int=tonumber(str_dec)

b=mid(dx_sz,(a_int+1),1)

if num_dec=0 then dx_str=dx_str+"整"

if num_dec>0 then dx_str=dx_str+"零"+b+"分"

end if

if num_dec>=10 then

a_int=tonumber(mid(str_dec,1,1))

a=mid(dx_sz,(a_int+1),1)

a_int=tonumber(mid(str_dec,2,1))

b=mid(dx_sz,(a_int+1),1)

if a<>"零" then a=a+"角"

if b<>"零" then b=b+"分" else b=""

dx_str=dx_str+a+b

end if

dx_str=fu+dx_str

dx_str=replace(dx_str,"零亿","亿")

dx_str=replace(dx_str,"零万","万")

dx_str=replace(dx_str,"零千","千")

dx_str=replace(dx_str,"零圆","圆")

total =dx_str

End Function

上一篇:Android—ListView条目背景为图片时,条目间距问题解决


下一篇:转载:IntelliJ Idea 常用快捷键列表