zoukankan      html  css  js  c++  java
  • 水晶報表中小寫變大寫的函數-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

  • 相关阅读:
    根据包路径输出类列表
    Logback配置
    接口的幂等性
    mock获取入参数并动态设置返回值
    linux,日志查找技巧
    scrapy 一些坑
    Pyinstaller打包附带DLL、图标和压缩EXE方法
    scrapy 爬虫教程
    买房
    Python: 在CSV文件中写入中文字符
  • 原文地址:https://www.cnblogs.com/jixinyu12345/p/4872650.html
Copyright © 2011-2022 走看看