首页 > 代码库 > VBA学习---字符串型数值和数值型字符串相互转换
VBA学习---字符串型数值和数值型字符串相互转换
一、数值转化为字符串函数Str、CStr
Str函数将数值转换为字符串,即返回一个代表一个数值的字符串,其语法为:
Str(number)
CStr函数将数值表达式转换为字符串,其语法为:
CStr(mynumberExpression)
注意:当一个数值转换成字符串时,总会在其前面保留一个空位来表示正负,即字符串的第一位一定是空格或正负号,Str将英文句号(.)作为有效的小数点。
演示代码:
Sub StrTranfomationDemo()Dim myDouble As DoublemyDouble = 234.823Debug.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 Stringstr = Format(Now, "Short Time")num = Val(str)‘如果现在的时间是 4:31 PM,下面语句展示的结果为: 16:31Debug.Print str, numEnd 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
VBA学习---字符串型数值和数值型字符串相互转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。