VBA学习---字符串型数值和数值型字符串相互转换
⼀、数值转化为字符串函数Str、CStr
Str函数将数值转换为字符串,即返回⼀个代表⼀个数值的字符串,其语法为:
Str(number)
CStr函数将数值表达式转换为字符串,其语法为:
vba自学好学吗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(&H FF)(16进制)分别转化为⼗进制的63和255转载于:wwwblogs/iczelion/p/6067976.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论