将货币的小写转换为大写,例如:肆佰陆拾贰圆捌角柒分

原创 2004年07月21日 10:16:00

'将货币的小写转换为大写,例如:肆佰陆拾贰圆捌角柒分

Public Function Num2Chi(ByVal txtJE As Double) As String

    Dim i, K As Integer

    Dim NC, nd, ka, chrNum, strZheng As String

    Dim c1, c2, c3 As String

    Dim K1 As Integer

    Dim Zheng As String

    Dim Xiao As String

    NC = Trim(Format(txtJE, "##0.00"))

    c1 = "仟佰拾万仟佰拾亿仟佰拾万仟佰拾元"

    c2 = "角分"

    c3 = "玖捌柒陆伍肆叁贰壹"

    If NC = 0 Then

        Num2Chi = "零元整"

        Exit Function

    End If

    Num2Chi = ""

    Zheng = Mid(NC, 1, (Len(NC) - 3))

    Xiao = Mid(NC, (Len(Zheng) + 2))

    If Val(Xiao) <> 0 Then

        For i = Len(Xiao) To 1 Step -1

            chrNum = Mid(Xiao, i, 1)

            If chrNum <> 0 Then

                Num2Chi = Mid(c2, i, 1) & Num2Chi

                Num2Chi = Mid(c3, (Len(c3) - chrNum + 1), 1) & Num2Chi

            End If

        Next i

    End If

 

    K = 0

    If Val(Zheng) <> 0 Then

        Num2Chi = "元" & Num2Chi

        For i = Len(Zheng) To 1 Step -1

            If (Len(Zheng) - i) = 4 Then

                Num2Chi = "万" & Num2Chi

            ElseIf (Len(Zheng) - i) = 8 Then

                Num2Chi = "亿" & Num2Chi

            ElseIf (Len(Zheng) - i) = 12 Then

                Num2Chi = "万" & Num2Chi

            End If

            chrNum = Mid(Zheng, i, 1)

            If chrNum <> 0 Then

                If i = Len(Zheng) Then

                    Num2Chi = Mid(c3, (Len(c3) - chrNum + 1), 1) & Num2Chi

                Else

                    If (Len(Zheng) - i) <> 4 And (Len(Zheng) - i) <> 8 And (Len(Zheng) - i) <> 12 Then

                        Num2Chi = Mid(c1, (Len(c1) - K), 1) & Num2Chi

                    End If

                    Num2Chi = Mid(c3, (Len(c3) - chrNum + 1), 1) & Num2Chi

                End If

            Else

                If Mid(Num2Chi, 1, 1) <> "元" And Mid(Num2Chi, 1, 1) <> "万" And Mid(Num2Chi, 1, 1) <> "亿" Then

                    If Mid(Num2Chi, 1, 1) <> "零" Then

                        Num2Chi = "零" & Num2Chi

                    End If

                End If

            End If

            K = K + 1

        Next i

    End If

    If Right(Trim(Num2Chi), 1) <> "分" Then

        Num2Chi = Num2Chi & "整"

    End If

End Function

 

java面试题,一个字符串中的大写变小写,小写变大写,数字不变,其他就变成*

java面试题,一个字符串中的大写变小写,小写变大写,数字不变,其他就变成*
  • coderinchina
  • coderinchina
  • 2015年11月20日 09:55
  • 2572

Android字符小写转大写,大写转小写

有些需求中可能对输入的字符不论大小写,即输入大小写字符都可以,网上找了下资料,有大神写的算法,个人感觉根据 需求来,能简单就简单来,哈哈 比较简单,把输入的小写转大写,大写转小写,就调用一个方法...
  • Sunjianhua360
  • Sunjianhua360
  • 2016年01月12日 09:55
  • 2735

Delphi货币类型转中文大写金额

在Delphi中,为了实现货币数值运算中的严格精度要求,内部把货币类型数据当作一个放大10000倍的64位整数来处理。这样根据64位整数的范围,可以得出货币类型Currency的范围是 [-92233...
  • tht2009
  • tht2009
  • 2017年06月15日 15:03
  • 439

Java将小写金额转换成大写

public class Test { private static final String UNIT = "万千佰拾亿千佰拾万千佰拾元角分"; private static final St...
  • leayefang
  • leayefang
  • 2016年11月09日 13:19
  • 1175

JAVA如何实现人民币大小写转换

本程序的作用是将人民币的小写形式转换为大写,例如:调用upper(“18.5″),将会返回字符串“壹拾捌圆伍角”。 [java] view plaincopy pack...
  • guaishushu1ss
  • guaishushu1ss
  • 2017年08月06日 10:48
  • 355

关于el表达式大小写问题

在学习struts的时候遇到了一些问题.可笑的是:所遇到的问题并不是struts技术本身,而是来自el表达式的一些挑战.其中最令人困惑的是EL的大小写问题. 可以肯定的一点是:即便在类中没有定义属性,...
  • dream_ll
  • dream_ll
  • 2016年06月11日 14:38
  • 2300

JSON.toJSONString会把key的首字母转成小写

fastjson将bean转成字符串时首字母变小写问题 一个项目需求要求返回值为JSON格式,且大多数字段是首字母大写,还有些是类似N_TX这样的格式,在输出这样的结果时遇到了问题,由于时间...
  • u010535345
  • u010535345
  • 2016年01月10日 20:03
  • 6102

Python对字母字符(串)中大小写转换函数--upper() 和 lower()

转换大小写 和其他语言一样,Python为string对象提供了转换大小写的方法:upper() 和 lower()。还不止这些,Python还为我们提供了首字母大写,其余小写的capitali...
  • u011089523
  • u011089523
  • 2016年03月08日 13:08
  • 9996

将string字符串中的字符转为全部大写或者全部小写

使用中的transform算法。 #include #include int main() { std::string s="hello"; std::string out; ...
  • wusecaiyun
  • wusecaiyun
  • 2014年10月20日 11:25
  • 2235

jquery、js 金额小写转成大写

jquery、js 金额小写转成大写,本代码完成了基本的转换,并不是最完整的,可根据需求进行修改,比如是否可以有小数点,(金额小数点也就两位,精确到分)...
  • u012402177
  • u012402177
  • 2016年07月29日 11:43
  • 1203
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将货币的小写转换为大写,例如:肆佰陆拾贰圆捌角柒分
举报原因:
原因补充:

(最多只允许输入30个字)