' 本模块生成汉字大写的金额
'
Option Explicit
' 名称: CCh
' 得到一位数字 N1 的汉字大写
' 0 返回 ""
Function CCh(N1)
As String
Select Case N1
Case 0
CCh = "零"
Case 1
CCh = "壹"
Case 2
CCh = "贰"
Case 3
CCh = "叁"
Case 4
CCh = "肆"
Case 5
CCh = "伍"
Case 6
CCh = "陆"
Case 7
CCh = "柒"
Case 8
CCh = "捌"
Case 9
CCh = "玖"
End Select
End Function '()Function
'名称: ChMoney
' 得到数字 N1 的汉字大写
' 最大为 千万位
' O 返回 ""
Public Function ChMoney(N1)
As String
Dim tMoney As String
Dim lMoney As String
Dim tn '小数位置
Dim ST1
As String
Dim T1 As String
Dim s1 As String
'临时STRING 小数部分
Dim s2
As String '1000 以内
Dim s3
As String '10000
If N1 =
0 Then
ChMoney = " "
Exit Function
End If
If N1 < 0
Then
ChMoney = "负"
+ ChMoney(Abs(N1))
Exit Function
End If
tMoney = Trim(Str(N1))
tn = InStr(tMoney, ".")
'小数位置
s1 = ""
If tn <>
0 Then
ST1 = Right(tMoney, Len(tMoney) - tn)
If ST1 <>
"" Then
T1 = Left(ST1, 1)
ST1 = Right(ST1, Len(ST1) - 1)
If T1 <>
"0" Then
s1 = s1 + CCh(Val(T1)) + "角"
End If
If ST1 <> ""
Then
T1 = Left(ST1, 1)
s1 = s1 + CCh(Val(T1)) + "分"
End If
End If
ST1 = Left(tMoney, tn - 1)
Else
ST1 = tMoney
End If
s2 = ""
If ST1 <>
"" Then
T1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
s2 = CCh(Val(T1)) + s2
End If
If ST1 <> ""
Then
T1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If T1 <>
"0" Then
s2 = CCh(Val(T1)) + "拾"
+ s2
Else
If Left(s2, 1) <>
"零" Then
s2 = "零" + s2
End If
End If
If ST1 <> ""
Then
T1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If T1 <>
"0" Then
s2 = CCh(Val(T1)) + "佰"
+ s2
Else
If Left(s2, 1) <>
"零" Then
s2 = "零" + s2
End If
End If
If ST1 <> ""
Then
T1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If T1 <>
"0" Then
s2 = CCh(Val(T1)) + "仟"
+ s2
Else
If Left(s2, 1) <>
"零" Then
s2 = "零" + s2
End If
End If
s3 = ""
If ST1 <>
"" Then
T1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
s3 = CCh(Val(T1)) + s3
End If
If ST1 <> ""
Then
T1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If T1 <>
"0" Then
s3 = CCh(Val(T1)) + "拾"
+ s3
Else
If Left(s3, 1) <>
"零" Then
s3 = "零" + s3
End If
End If
If ST1 <> ""
Then
T1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If T1 <>
"0" Then
s3 = CCh(Val(T1)) + "佰"
+ s3
Else
If Left(s3, 1) <>
"零" Then
s3 = "零" + s3
End If
End If
If ST1 <> ""
Then
T1 = Right(ST1, 1)
ST1 = Left(ST1, Len(ST1) - 1)
If T1 <>
"0" Then
s3 = CCh(Val(T1)) + "仟"
+ s3
End If
End If
If Right(s2, 1) =
"零" Then
s2 = Left(s2, Len(s2) - 1)
If Len(s3) >
0 Then
If Right(s3, 1) =
"零" Then
s3 = Left(s3, Len(s3) - 1)
s3 = s3 & "万"
End If
ChMoney = IIf(s3 & s2 = "", s1, s3 & s2 &
"元整" & s1)
End Function
简单明了型
Function RMBChinese(ByVal
Rmb As Double)
As String
On Error Resume Next
Dim Rmbexp As String, Rmbda
As String, Expda
As String, Lent
As Integer, Ntyp
As Integer, Icnt
As Integer, i
As Integer, Trmb
As String
Rmb = Format(Rmb, "###0.00")
If Rmb >
999999999999.99 Then
RMBChinese = "需转换的金额整数长度超过了12位!"
Exit Function
End If
Rmbexp = "分角元拾佰仟万拾佰仟亿拾佰仟"
Rmbda = "零壹贰叁肆伍陆柒捌玖"
Ntyp = 0
Trmb = Replace(CStr(Format(Rmb,
"0.00")),
".", "")
If Left(Trmb,
1) =
"-" Then
Trmb = Mid(Trmb, 2)
Ntyp = 1
End If
Expda = ""
Icnt = Len(Trmb)
For i =
1 To Icnt
Expda = Mid(Rmbda, Val(Mid(Trmb, Icnt - i + 1,
1)) +
1, 1) + IIf(Mid(Rmbexp, i,
1) =
"元", Mid(Rmbexp, i,
1) +
" ", Mid(Rmbexp, i,
1)) + Expda
Next
RMBChinese = IIf(Ntyp = 1,
"负" + Expda, Expda)
End Function
分享到:
相关推荐
标题“VB大小写转换”指的是使用Visual Basic (VB)编程语言来编写程序,实现字符的大小写转换功能。在计算机编程中,处理文本时经常需要进行大小写的转换,例如在数据验证、用户输入处理或者字符串格式化等场景。VB...
首先,VB提供了两个内置函数,专门用于英文字符的大小写转换: 1. **UCase()** 函数:这个函数接收一个字符串作为参数,然后返回该字符串中所有英文字符的大写形式。例如: ```vb Dim str As String = "hello world...
在VB(Visual Basic)编程语言中,大小写转换是一个常见的需求,主要应用于数据验证、文本格式化或用户输入处理等方面。以下将详细讲解三种在VB中实现字母大小写转换的方法。 1. **VB内置函数:LCase和UCase** VB...
ASCII码是一种基于拉丁字母的一套电脑编码系统,最初被设计为7位的二进制数来表示128种可能的字符,包括大小写字母、数字、标点符号和一些控制字符。在计算机中,每个ASCII字符都可以用一个字节来表示,其中最高位...
该标准定义了单精度(32位)和双精度(64位)两种浮点数格式,其中包含了符号位、指数部分和尾数部分。符号位决定数的正负,指数部分用以表示数值的大小,而尾数部分则保存小数部分的信息。对于单精度浮点数,前1位...
和内存占用显示”指的是一个使用VB(Visual Basic)编程语言开发的小型应用程序,该程序具有两个主要功能:大小写转换显示和系统资源监控,特别是CPU和内存的使用情况。VB是一种面向对象的编程语言,由微软公司推出...
例如,可以编写一个函数,接收两个字符串作为参数,然后使用`UCase`(转换为大写)和`LCase`(转换为小写)函数,确保比较前统一大小写。 5. **VBHOOK 技术**:VBHOOK通常用于监视和处理特定事件,例如键盘输入。在...
4. **StrConv函数**:这是一个多功能函数,可以实现多种字符串转换,如大小写转换、数字与文本之间的转换等。例如,`StrConv("123", vbUpperCase)`会将数字字符串转换为大写形式,即"123"变为"123",因为数字没有大...
在VB中,我们可以利用内置函数轻松实现这两种进制间的转换。 1. **16进制转10进制:** 在VB中,可以使用`Val`函数配合`&H`前缀来将16进制字符串转换为10进制整数。例如: ```vb Dim hexStr As String = "2A" '这...
Base64使用64个可打印字符来代表二进制数据,这些字符包括大小写字母、数字以及"+"和"/"。每三个字节的数据会被转化为四个Base64字符,多余的字节则用填充字符"="来补充。这种编码方式使得二进制数据可以安全地在纯...
在VB(Visual Basic)编程环境中,滚动条控件(ScrollBar)是一种常见的用户界面元素,它允许用户通过拖动滑块来选择一个范围内的值。在本项目中,“vb运用滚动条改变字体大小”是一个实例,它展示了如何利用VB来...
以上就是VB中读取文本文件的常见方法,选择哪种方法取决于具体的需求,如文件大小、编码类型、性能要求以及是否需要与Excel等其他应用程序集成。在实际应用中,应确保正确处理编码问题,避免出现乱码。
11. **Instr(源字符串, 查找字符串[, 区分大小写])**:返回查找字符串在源字符串中首次出现的位置。 - 示例:`Instr("Hello World", "o")` 返回 `5` #### 六、日期与时间函数 1. **Day(Date)**:返回指定日期中的...
这个“VB写的控制音量的例子”提供了一种简单的方法,通过VB代码来改变计算机的音频输出级别,这对于开发媒体播放软件或者需要调整音量的应用来说非常实用。下面我们将深入探讨如何在VB中实现这一功能。 首先,我们...
本段VB代码提供了一种简单而有效的方法来实现人民币金额的大小写转换。通过合理设计数据结构和算法逻辑,可以确保转换过程准确无误。这种转换在实际应用中非常有用,特别是在需要正式文档的地方。开发者可以根据具体...
Base64字符集包括大小写字母、数字和两个特殊字符`+`和`/`,以及一个用于填充的`=`。 2. **VB.NET中的Base64转换**: VB.NET提供了内置的方法来进行Base64编码和解码,主要在`System.Convert`类中。 - **Base64...
ASCII码是一种基于拉丁字母的一套电脑编码系统,最初被设计为7位的二进制数,可以表示128个不同的字符,包括大小写字母、数字和一些特殊符号。在计算机中,每个ASCII字符通常用一个字节(8位)来存储,其中最高位...
"用VB写高效的图像处理程序" 图像处理是计算机视觉和图形学中非常重要的一部分,它涉及到图像的读取、处理和保存。在VB中,图像处理可以通过使用PSet和SetPixel函数来实现,但是这些函数的执行速度非常慢,特别是在...
TextInfo类提供了许多与文本相关的功能,其中包括转换文本的大小写以及区域性的文字习惯。在简繁体转换中,关键方法是ToTitleCase()和GetCultureInfo()。GetCultureInfo()用于获取特定地区的文化信息,如“zh-CN”...
在VB(Visual Basic)编程环境中,两个独立的程序之间进行通信是常见的需求,...无论采用哪种方法,都需要注意数据格式的转换,确保在发送端和接收端之间的一致性。同时,考虑到错误处理和通信安全性也是至关重要的。