<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      一個把數字轉英文的實用程序

      [摘要]最近做項目的合同部分時用到需要能把數字轉英文的程序,找過很多網站都沒用,只能安下心來自己做,程序作的不太精簡,但功能可以實現,也許同僚們會用得著。(vbscript)function zr4(y)&...
      最近做項目的合同部分時用到需要能把數字轉英文的程序,找過很多網站都沒用,只能安下心來自己做,程序作的不太精簡,但功能可以實現,也許同僚們會用得著。(vbscript)
      function zr4(y)'準備數據
      dim z(10)
      z(1)="ONE"
      z(2)="TWO"
      z(3)="THREE"
      z(4)="FOUR"
      z(5)="FIVE"
      z(6)="SIX"
      z(7)="SEVEN"
      z(8)="EIGHT"
      z(9)="NINE"
      zr4=z(MID(y,1,1))
      end function

      function zr3(y)'準備數據
      dim z(10)
      z(1)="ONE"
      z(2)="TWO"
      z(3)="THREE"
      z(4)="FOUR"
      z(5)="FIVE"
      z(6)="SIX"
      z(7)="SEVEN"
      z(8)="EIGHT"
      z(9)="NINE"
      zr3=z(MID(y,3,1))
      end function


      function zr2(y)'準備數據

      dim z(20)
      z(10)="TEN"
      z(11)="ELEVEN"
      z(12)="TWELVE"
      z(13)="THIRTEEN"
      z(14)="FOURTEEN"
      z(15)="FIFTEEN"
      z(16)="SIXTEEN"
      z(17)="SEVENTEEN"
      z(18)="EIGHTEEN"
      z(19)="NINETEEN"
      zr2=z(MID(y,2,2))

      end function

      function zr1(y)'準備數據

      dim z(10)
      z(1)="TEN"
      z(2)="TWENTY"
      z(3)="THIRTY"
      z(4)="FORTY"
      z(5)="FIFTY"
      z(6)="SIXTY"
      z(7)="SEVENTY"
      z(8)="EIGHTY"
      z(9)="NINETY"
      zr1=z(MID(y,2,1))

      end function


      function dw(y)'準備數據

      dim z(5)
      z(0)=""
      z(1)="THOUSAND"
      z(2)="MILLION"
      z(3)="BILLION"
      dw=z(y)

      end function

      function w2(y)'用來制作2位數字轉英文
          
      if MID(y,2,1)="0" then'判斷是否小于十
          value=zr3(y)
      elseif MID(y,2,1)="1" then'判斷是否在十到二十之間
          value=zr2(y)
      elseif MID(y,3,1)="0" then'判斷是否為大于二十小于一百的能被十整除的數(為了去掉尾空格)
          value=zr1(y)
      else    
          value=zr1(y)+" "+zr3(y)'加上十位到個位的空格    
      end if
      w2=value    
      end function

      function w3(y)'用來制作3位數字轉英文
      if MID(y,1,1)="0" then'判斷是否小于一百
          value=w2(y)
      elseif MID(y,2,2)="00"  then'判斷是否能被一百整除
          value=zr4(y)+" "+"HUNDRED"
      else
          value=zr4(y)+" "+"HUNDRED"+" "+"AND"+" "+w2(y)'不能整除的要后面加“AND”
      end if
      w3=value
      end function

      function make(x)
      z=instr(1,x,".",1)'取小數點位置
      if z<>0 then'判斷有沒有小數
      lstr=mid(x,1,z-1)'取小數點左邊的字串
      rstr=mid(x,z+1,2)'取小數點右邊的字串
      else
      lstr=x'沒有小數的情況
      end if
      lstrev=StrReverse(lstr)'對左邊的字串取反字串
      dim a(5)'定義5個字串變量用來存放解析出的三位一組的字串
      select case len(lstrev) mod 3'字串長度不能被整除,需補齊
          case "1"
              lstrev=lstrev+"00"
          case "2"    
              lstrev=lstrev+"0"
      end select
      lm=""'用來存放轉換后的整數部分
      for i=0 to len(lstrev)/3-1'計算有多少個三位
          a(i)=StrReverse(mid(lstrev,3*i+1,3))'截取第1個三位
          if a(i)<>"000"  then'用來避免這種情況“1000000=ONE MILLION THOUSAND ONLY”
          if i<>0 then
          lm=w3(a(i))+" "+dw(i)+" "+lm'用來加上“THOUSAND OR MILLION OR BILLION”
          else
          lm=w3(a(i))'防止i=0時“lm=w3(a(i))+" "+dw(i)+" "+lm”多加兩個尾空格
          end if
          else
          lm=w3(a(i))+lm
          end if
      NEXT
      xs=""'用來存放轉換后的小數部分
      if z<>0 then     
      xs="AND CENTS"+" "+w2("$"+rstr)+" "'小數部分存在時轉換小數部分        
      end if
      make=lm+" "+xs+"ONLY"'最后結果,加上ONLY
      end function




      日韩精品一区二区三区高清