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

本文介绍了在VBA中如何将数字数据转换为数字格式,以及如何将字符型数值转化为数值型数据。通过Str和CStr函数可以将数值转换为字符串,而Val函数能够将字符串转换为Double类型数值。此外,还展示了如何进行八进制和十六进制到十进制的转换。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值