码迷,mamicode.com
首页 > 编程语言 > 详细

VBA学习---字符串型数值和数值型字符串相互转换

时间:2016-11-16 02:49:28      阅读:779      评论:0      收藏:0      [点我收藏+]

标签:span   class   print   strong   mat   express   res   for   空格   

一、数值转化为字符串函数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

VBA学习---字符串型数值和数值型字符串相互转换

标签:span   class   print   strong   mat   express   res   for   空格   

原文地址:http://www.cnblogs.com/iczelion/p/6067976.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!