VBA学习笔记之Text(五)——字符串型数值和数值型字符串相互转换

一、数值转化为字符串函数Str、CStr

 Str函数将数值转换为字符串,即返回一个代表一个数值的字符串,其语法为:

Str(number)

 CStr函数将数值表达式转换为字符串,其语法为:

CStr(mynumberExpression)

注意:当一个数值转换成字符串时,总会在其前面保留一个空位来表示正负,即字符串的第一位一定是空格或正负号,Str将英文句号(.)作为有效的小数点。

演示代码:
Sub StrTranfomationDemo()

Dim myDouble As Double

myDouble = 234.823

Debug.Print "Str:<" & str(24.32) & ">"
Debug.Print "Str:<" & str(-24.32) & ">"
Debug.Print "CStr:<" & CStr(myDouble) & ">"

End Sub

运行结果

Str:< 24.32>
Str:<-24.32>
CStr:<234.823>

二、字符型数值转化为数值型数据

 Val函数可以将包含数值的字符型数据转化为Double(双精度)数值型数据类型,其语法为:

Val(string)
演示代码:
Sub ShowFormatVal()

Dim num As Double, str As String

str = Format(Now, "Short Time")
num = Val(str)
'如果现在的时间是 4:31 PM,下面语句展示的结果为: 16:31    16
Debug.Print str, num

End Sub

【应用】
字符型数值是不能进行四则运算的,只能通过Val函数将其转换后才能使用。
可以将8进制、16进制等转化为10进制数,如,Val(&o77)(8进制)、Val(&HFF)(16进制)分别转化为十进制的63和255

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VBA中,将16进制字符串转换成中文需要进行以下几个步骤: 1. 首先,将16进制字符串拆分成每两个字符的子字符串。例如,将字符串"e4b8ade59bbde4b893"拆分成["e4", "b8", "ad", "e5", "9b", "bd", "e4", "b8", "93"]。 2. 然后,循环遍历每个子字符串,并将其转换成对应的16进制数值。可以使用VBA的Hex函数将字符串转换成对应的数值。 3. 接着,将得到的16进制数值转换成字节。可以使用VBA的Chr函数将数值转换成字节。 4. 最后,将字节转换成中文字符。可以使用VBA的StrConv函数将字节转换成Unicode字符。 下面是一个示例代码,实现将16进制字符串转换成中文的操作: ```vba Sub ConvertHexToChinese() Dim hexString As String Dim result As String hexString = "e4b8ade59bbde4b893" result = "" For i = 1 To Len(hexString) Step 2 num = "&H" & Mid(hexString, i, 2) '将子字符串转换成对应的16进制数值 byteValue = Chr(num) '将16进制数值转换成字节 chineseChar = StrConv(byteValue, vbUnicode) '将字节转换成Unicode字符 result = result & chineseChar Next i MsgBox result '输出结果 End Sub ``` 在上述示例代码中,我们使用了一个名为`hexString`的变量来保存需要转换的16进制字符串。然后,我们创建了一个名为`result`的变量来保存转换后的中文字符串。在循环遍历每个子字符串时,我们将其转换成对应的16进制数值,并使用`Chr`函数将其转换成字节。最后,通过`StrConv`函数将字节转换成Unicode字符,并将转换后的字符追加到`result`变量中。最终,我们通过`MsgBox`函数将转换后的中文字符串输出到对话框中。 希望以上内容能够对您有所帮助。如果有任何疑问,请随时追问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值