JBOSS 點滴

          豐豐的博客

          人民幣小寫轉為大寫(網上找了很多資料,由于跟目前財務帳有些不同,所以我在不斷更改中)

          --阿拉伯數字轉中文大寫數字 
          Create   function dbo.NToCC(@n int) 
          returns varchar(2) 
          as 
          begin 
           
          declare @s varchar(2) 
           
          if @n=0  
          set @s='零' 
          if @n=1 
          set @s='壹' 
          if @n=2 
          set @s='貳' 
          if @n=3 
          set @s='叁' 
          if @n=4 
          set @s='肆' 
          if @n=5 
          set @s='伍' 
          if @n=6 
          set @s='陸' 
          if @n=7 
          set @s='柒' 
          if @n=8 
          set @s='捌' 
          if @n=9 
          set @s='玖' 
           
          return @s  
           
          end  
           
          go
          --可支持到上億 
          alter   function dbo.numbertoChineseBigString(@m money) 
          returns varchar(255) 
          begin 
           
           
          declare @i varchar(255) 
          declare @f varchar(255) 
          declare @r varchar(255) 
          declare @s varchar(255) 
           
          set @s=convert(varchar(255),@m) 
          if charindex('.',@s)>0 
          begin 
              set @i=substring(@s,1,charindex('.',@s)-1) 
              set @f=substring(@s,charindex('.',@s)+1,len(@s)) 
          end 
          else  
          set @i=@s 
           
          set @r='' 
           
           
          declare @k int 
          set @k=len(@i) 
          while @k>=1  
          begin 
           
          --最多9位 
          if @k=9 
          set @r=@r+ 
          dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1))) 
          --@i 
          +'億' 
           
           
          if @k=8 
          set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'仟' 
           
           
          if @k=7 
          set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'佰' 
           
          if @k=6 
          set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'拾' 
           
          if @k=5 
          set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'萬' 
           
          if @k=4 
          set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'仟' 
           
          if @k=3 
          set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'佰' 
           
          if @k=2 
          set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'拾' 
           
          if @k=1 
          set @r=@r+dbo.NToCC(convert(int,substring(REVERSE(@i),@k,1)))+'圓' 
           
           
          set @k=@k-1 
           
          end 
           
           
           
          if convert(float,@f)=0  
          set @r=@r+'整' 
          else  
          begin 
           
          if substring(@s,1,1)>''  
          set @r=@r+dbo.NToCC(convert(int,substring(@f,1,1)))+'角' 
           
          if substring(@s,2,1)>''  
          set @r=@r+dbo.NToCC(convert(int,substring(@f,2,1)))+'分' 
           
          end 
           
          set @r=replace(@r,'零仟零佰零拾','零') 
          set @r=replace(@r,'零佰零拾','零') 
          set @r=replace(@r,'零仟零佰','零') 
          set @r=replace(@r,'零拾','零') 
          set @r=replace(@r,'零仟','零') 
          set @r=replace(@r,'零佰','零') 
          set @r=replace(@r,'拾零萬','拾萬')
          set @r=replace(@r,'零零圓整','圓整') 
          set @r=replace(@r,'零圓整','圓整') 
          set @r=replace(@r,'零零萬圓整','萬圓整')
          return @r 
           
          end  
           

          posted on 2009-03-26 10:41 半導體 閱讀(179) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 海淀区| 余姚市| 宁津县| 双柏县| 两当县| 株洲市| 孙吴县| 鄯善县| 盖州市| 高要市| 阿城市| 繁峙县| 宝应县| 扶余县| 高青县| 习水县| 报价| 扎赉特旗| 永春县| 米易县| 三穗县| 南雄市| 会泽县| 汶川县| 红原县| 临泉县| 上犹县| 枣强县| 洱源县| 亳州市| 和平区| 邵东县| 洪泽县| 大埔区| 阳信县| 宜兴市| 兴山县| 成都市| 腾冲县| 凤冈县| 体育|