zoukankan      html  css  js  c++  java
  • 金额小写转大写


    CREATE PROCEDURE [dbo].[TranNumberToBigForDecrypt]
    (
        
    @n_LowerMoney numeric(15,2),
        
    @v_TransType int,
        
    @RET VARCHAR(200) output
    )
    --with ENCRYPTION
    AS
    /**********************************
    descript:解密exec sp_decrypt 'TranNumberToBig'
    */

    Declare @v_LowerStr VARCHAR(200-- 小写金额 
    Declare @v_UpperPart VARCHAR(200
    Declare @v_UpperStr VARCHAR(200-- 大写金额
    Declare @startstr varchar(30--点号前面的部分
    Declare @endstr varchar(30--点号后面部分
    Declare @i_I int,@idx int,@e_I int,@i int
    Declare @end_Upper varchar(100),@end_Part varchar(100)

    select @v_LowerStr = LTRIM(RTRIM(convert(varchar(30),@n_LowerMoney))) --变成字符串并删除数据左右空格

    --if(charindex('.',@v_LowerStr)>0)

    begin
        
    set @idx=charindex('.',@v_LowerStr)
        
    set @startstr=substring(@v_LowerStr,1,@idx-1)
        
    --print @v_LowerStr
        select @i_I = 1
        
    select @v_UpperStr = ''
        
        
    while ( @i_I <= len(@startstr))
        
    begin
            
    select @v_UpperPart = case substring(@startstr,len(@startstr- @i_I + 1,1)
            
    WHEN '.' THEN ''
            
    WHEN '0' THEN ''
            
    WHEN '1' THEN ''
            
    WHEN '2' THEN ''
            
    WHEN '3' THEN ''
            
    WHEN '4' THEN ''
            
    WHEN '5' THEN ''
            
    WHEN '6' THEN ''
            
    WHEN '7' THEN ''
            
    WHEN '8' THEN ''
            
    WHEN '9' THEN ''
            
    END
            
    + 
            
    case @i_I
            
    WHEN 1 THEN ''
            
    WHEN 2 THEN ''
            
    WHEN 3 THEN ''
            
    WHEN 4 THEN ''
            
    WHEN 5 THEN ''
            
    WHEN 6 THEN ''
            
    WHEN 7 THEN ''
            
    WHEN 8 THEN ''
            
    WHEN 9 THEN '亿'
            
    WHEN 10 THEN ''
            
    WHEN 11 THEN ''
            
    WHEN 12 THEN ''
            
    WHEN 13 THEN ''
            
    ELSE ''
                
    END
        
    select @v_UpperStr = @v_UpperPart + @v_UpperStr
        
    select @i_I = @i_I + 1
            
    end

        
    --if ( @v_TransType=0 )
        --begin
            --print @v_UpperStr
            select @v_UpperStr = REPLACE(@v_UpperStr,'零佰零拾','')
            
    select @v_UpperStr = REPLACE(@v_UpperStr,'零仟','')
                    
    select @v_UpperStr = REPLACE(@v_UpperStr,'零佰','')
            
    select @v_UpperStr = REPLACE(@v_UpperStr,'零拾','')
            
    select @v_UpperStr = REPLACE(@v_UpperStr,'拾零','')
            
    select @v_UpperStr = REPLACE(@v_UpperStr,'零零','')
        
    --end
            
            
    select @endstr=LTRIM(RTRIM(substring(@v_LowerStr,@idx,len(@v_LowerStr)-@idx+1)))
            
            
    select @e_I=1
            
    select @end_Part=''
            
    select @end_Upper=''
            
    while(@e_I<=len(@endstr))
            
    begin
                 
    select @end_Part=case substring(@endstr,@e_I,1)
                    
    WHEN '.' THEN ''
            
    WHEN '0' THEN ''
            
    WHEN '1' THEN ''
            
    WHEN '2' THEN ''
            
    WHEN '3' THEN ''
            
    WHEN '4' THEN ''
            
    WHEN '5' THEN ''
            
    WHEN '6' THEN ''
            
    WHEN '7' THEN ''
            
    WHEN '8' THEN ''
            
    WHEN '9' THEN ''
            
    END
                 
    select @end_Upper=@end_Upper+@end_Part
                 
    select @e_I=@e_I+1
            
    end
            
    set @i=len(@end_Upper)
            
    while(@i>0)
            
    begin
                
    if(right(@end_Upper,1)='' or right(@end_Upper,1)='')
             
    begin
             
    select @end_Upper=left(@end_Upper,@i-1)
             
    select @i=@i-1
             
    end
               
    else
            
    break
            
    end
       
    --select @Part=@v_UpperStr+@end_Upper
       
       
    select @ret=@v_UpperStr+@end_Upper
     
    end

    GO
    转载请注明出处[http://samlin.cnblogs.com/

    欢迎关注本人公众号:

    作者赞赏
  • 相关阅读:
    Java Scanner
    Java 继承
    什么叫异常?什么叫错误? 如何捕获异常? 如何抛出异常? 说说finally和final的区别! 什么是JDK?什么是JRE?说说它们之间的区别? 说说字符常量和字符串常量的区别
    数据分析三剑客之Pandas时间序列
    Css样式布局之Flex弹性盒子布局
    memcached的安装和使用
    Flask 第十八话之Restful API
    Flask 第十七话之信号
    Flask 第十六话之钩子函数
    Flask 第十五话之请求上下文及全局全局存储g对象
  • 原文地址:https://www.cnblogs.com/samlin/p/1074821.html
Copyright © 2011-2022 走看看