
正文
vb.net数字转中文 vbs字符转数字
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
vb中,如何将数值转换为相应的中文,如1转换为“一”?
直接调用下面函数即可。
Private Function NumberToChinese(Byval Int_A As Integer) As String
Select Case Int_A
Case Int_A=0
NumberToChinese="零"
Case Int_A=1
NumberToChinese="一"
Case Int_A=2
NumberToChinese="二"
Case Int_A=3
NumberToChinese="三"
Case Int_A=4
NumberToChinese="四"
Case Int_A=5
NumberToChinese="五"
Case Int_A=6
NumberToChinese="六"
Case Int_A=7
NumberToChinese="七"
Case Int_A=8
NumberToChinese="八"
Case Int_A=9
NumberToChinese="九"
End Select
End Function
相关问答
Q1: 用VB把数字转成中文字符串
根据数字vb.net数字转中文的读法源码天空 写vb.net数字转中文了一个把数字转成中文字符串vb.net数字转中文的程序
参数一为数字
参数二为是不是反回人民币大写
参数三为是不是直接读数字 否则带有十百等单位
参数四为设置小数点后面vb.net数字转中文的位数 默认为
使用方法是
t=GetChinaNum( ) 返回 二千零五点零零零四三六
t=GetChinaNum( True ) 返回 贰仟零伍元肆角肆分
t=GetChinaNum( True ) 返加 二零零五点四三六
下面是程序代码
Function GetChinaNum(otherNum As Double Optional isRMB As Boolean Optional numOption As Boolean Optional dotNum As Integer) As String
On Error Resume Next
num = Trim(Str(Int(otherNum)))
If isRMB Then
numwei = 拾佰仟万拾佰仟亿拾佰仟
numshu = 零壹贰三肆伍陆柒捌玖拾
Else
numwei = 十百千万十百千亿十百千
numshu = 零一二三四五六七八九十
End If
If otherNum And otherNum = Then
num = Right(num )
GetChinaNum = Left(numwei )
End If
For i = To Len(num)
bstr = Mid(num i )
If numOption Then
GetChinaNum = GetChinaNum + Mid(numshu Val(bstr) + )
Else
GetChinaNum = GetChinaNum + Mid(numshu Val(bstr) + )
If bstr = Then
If Mid(numwei Len(num) i ) = 万 Or Mid(numwei Len(num) i ) = 亿 Then
Do While Right(GetChinaNum ) = 零
GetChinaNum = Left(GetChinaNum Len(GetChinaNum) )
Loop
GetChinaNum = GetChinaNum + Mid(numwei Len(num) i )
End If
Else
GetChinaNum = GetChinaNum + Mid(numwei Len(num) i )
End If
GetChinaNum = Replace(GetChinaNum 零零 零 )
End If
Next i
If numOption = False Then
Do While Right(GetChinaNum ) = 零
GetChinaNum = Left(GetChinaNum Len(GetChinaNum) )
Loop
End If
If isRMB Then
numrmb = 元角分
GetChinaNum = GetChinaNum + Mid(numrmb )
If Val(num) otherNum Then
num = Trim(Str(Round(otherNum Val(num) )))
For i = To Len(num)
bstr = Mid(num i )
GetChinaNum = GetChinaNum + Mid(numshu Val(bstr) + ) + Mid(numrmb i )
Next i
Else
GetChinaNum = GetChinaNum + 整
End If
Else
If Val(num) otherNum Then
If dotNum = Then dotNum =
num = Trim(CStr(Round(otherNum Val(num) dotNum)))
If GetChinaNum = Then GetChinaNum = 零
GetChinaNum = GetChinaNum + 点
For i = To Len(num)
bstr = Mid(num i )
GetChinaNum = GetChinaNum + Mid(numshu Val(bstr) + )
Next i
End If
End If
lishixinzhi/Article/program/net/201311/12736
Q2: vb.net 中 \uxxxx这类的编码实现转换成中文
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim S1 As String
Dim S2 As String
Dim S3 As String
Dim I1 As String
S1 = "\u652f\u4ed8\u5b9d"
S1 = Trim(S1)
Do While Len(S1) 1
I1 = InStr(1, S1, "\u")
If I1 0 Then
S3 = S3 Strings.Left(S1, I1 - 1)
S2 = "H" Mid(S1, I1 + 2, 4)
S2 = ChrW(S2)
S3 = S3 S2
S1 = Strings.Right(S1, Len(S1) - I1 - 5)
Else
S3 = S3 S1
S1 = ""
End If
Loop
MsgBox(S3)
End Sub
Q3: VB.NET 如何将"\u5E93\u59C6"转为汉字
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox(unicode2hz("\u59C6"))
End Sub
Function unicode2hz(ByVal uni As String) As String
uni = uni.Replace("\u", "")
Dim arr(1) As Byte
arr(1) = Convert.ToByte(Convert.ToInt16(uni.Substring(0, 2), 16))
arr(0) = Convert.ToByte(Convert.ToInt16(uni.Substring(2), 16))
unicode2hz = System.Text.Encoding.Unicode.GetString(arr)
End Function
关于vb.net数字转中文和vbs字符转数字的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







