vba中将数字数据转为数字格式_VBA学习---字符串型数值和数值型字符串相互转换...

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

Str(number)

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

CStr(mynumberExpression)

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

演示代码:

Sub StrTranfomationDemo()

Dim myDouble As Double

myDouble = 234.823

Debug.Print "Str:"

Debug.Print "Str:"

Debug.Print "CStr:"

End Sub

运行结果

Str:

Str:

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


版权声明:本文为weixin_39806808原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。