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

    在群里找人要来的,原来打算改成C#,熊找腾讯的同学要了一份C#的,就省点力气了。
    Dim Session As New NotesSession
        
    Dim db As NotesDatabase
        
    Dim doc As NotesDocument    
        
    Set db = Session.CurrentDatabase
        
    Set doc = Session.DocumentContext    
            
    '将数字转换在人民币在写
        Dim  strMoney ,strDec, strInt, cNum ,tmp1 As String
        
    Dim subString As String
        
    Dim locDec, i, j As Integer 
        
    Dim d(4As String                                  '元以下的单位
        Dim t(3As String                                  '万以下的单位
        Dim w(3As String                                  '阶符
        Dim n(9As String                                  '数字
        Dim s(4As String                                  '用以保存临时转化后的值
        
        d(
    0= ""
        d(1= "角"
        d(2= "分"
        d(3= "厘"
        d(4= "毫"
        t(0= ""
        t(1= "拾"
        t(2= "佰"
        t(3= "仟"
        w(0= ""
        w(1= "圆"
        w(2= "万"
        w(3= "亿"
        n(0= "零"
        n(1= "壹"
        n(2= "贰"
        n(3= "叁"
        n(4= "肆"
        
        n(
    5= "伍"
        n(6= "陆"
        n(7= "柒"
        n(8= "捌"
        n(9= ""     

    If Trim(doc.Smoney(0))<>"" Then
            
            strMoney 
    = Trim(doc.Smoney(0))
            
            locDec 
    = Instr(strMoney, ".")  
            s(
    0= ""
            
            
    If locDec > 0 Then
                strDec 
    = Right(strMoney, Len(strMoney) - locDec)
                
                
    If strDec <> "" Then                        '转化小数部分
                    For i = 1 To Len(strDec)
                        cNum 
    = Left(strDec, 1)
                        strDec 
    = Right(strDec, Len(strDec) - 1)
                        
    If cNum <> "0" Then
                            s(
    0= s(0& n(Val(cNum)) & d(i)
                            
                        
    End If
                    
    Next
                
    End If
                strInt 
    = Left(strMoney, locDec - 1)         '取整数部分的值
            Else
                strInt 
    = strMoney
            
    End If
            
            
    For i = 0 To Len(strInt) / 4            '每4个数字一组进行转换
                
                s(i 
    + 1= ""
                For j = 0 To 3
                    
    If strInt <> "" Then
                        cNum 
    = Right(strInt, 1)     '取末位数
                        strInt = Left(strInt, Len(strInt) - 1)
                        
    If cNum <> "0" Then         '不为零则加单位
                            s(i + 1= n(Val(cNum)) & t(j) & s(i + 1)
                        
    Else
                            
                            s(i 
    + 1= n(Val(cNum)) & s(i + 1)
                        
    End If
                    
    End If 
                    doc.temp1
    =s(i+1)
                                               
    '删除重复的"零"
                    doc.temp1=Evaluate(|@ReplaceSubstring(temp1;"零零";"")|,doc)
                    s(i
    +1)=doc.temp1(0)
                
    Next 
        
    If Right(s(i + 1), 1= "" Then   '删除末位的"零"
                    s(i + 1= Left(s(i + 1), Len(s(i + 1)) - 1)
                
    End If
                
                
            
    Next
            
            Num2Money 
    = ""
            For i = 0 To 2 
                
    If Trim(s(3 - i)) = "" Then
                    temp
    =""
                Else 
                    temp
    =w(3 - i)
                
    End If
                                    
    '连接整数位
                Num2Money = Num2Money & s(3 - i) &  temp
            
    Next
            
                                                
    '加上"元"
            If Trim(Num2Money) <> "" And Right(Num2Money, 1<> "" Then
                Num2Money 
    = Num2Money & "圆"
                
            
    End If
                                                
    '若无小数则加应加上"整"
            If Trim(s(0)) = "" Then
                Num2Money 
    = Num2Money & "正"
                doc.Bmoney=Num2Money
            
    Else
                Num2Money 
    = Num2Money & s(0)
                doc.Bmoney
    =Num2Money
            
    End If    
        
    Else
            doc.Bmoney
    =""
        End If        
        
    Call doc.save(True,True)     
  • 相关阅读:
    时间单位转化
    快速排序算法
    用virtualenv建立Python独立开发环境
    Shell正则表达式之grep、sed、awk实操笔记
    Objective-C 30分钟入门教程
    base64加密后字符串长度
    error: synthesized property 'name' must either be named the same as a compatible instance variable or must explicitly name an instance variable问题解决
    Ubuntu系统下通过Clang编译器编写Objective-C
    MongoDB 聚合Group(二)
    MongoDB聚合(单一用途的聚合方法)
  • 原文地址:https://www.cnblogs.com/hannover/p/1899819.html
Copyright © 2011-2022 走看看