一、数值转化为字符串函数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)
演示代码1:
Sub ShowFormatVal()
Dim num As Double, str As String
str = Format(Now, "Short Time")
num = Val(str)
‘如果现在的时间是 4:31 PM,下面语句展示的结果为: 16:31
Debug.Print str, num
End Sub
演示代码2:
Sub TransformStr2Int()
Dim num As Double, str As String, tmp As String
‘ A1单元格中的数据为 0.8051
str = ThisWorkbook.Worksheets("Sheet1").Range("A1")
MsgBox "str: " & str
tmp = Right(str, Len(str) - 1)
MsgBox "tmp: " & tmp
num = Val(tmp) + 1 ‘ 字符串转数字
MsgBox "num: " & num
MsgBox Hex(num) ‘ 十进制转换成十六进制数
End Sub
【应用】
- 字符型数值是不能进行四则运算的,只能通过Val函数将其转换后才能使用。
- 可以将8进制、16进制等转化为10进制数,如,Val(&o77)(8进制)、Val(&HFF)(16进制)分别转化为十进制的63和255