上一節(jié)課我們用一個簡單的公式把角度轉(zhuǎn)化為弧度,這樣做便于大家理解。不過VBA中有現(xiàn)成的方法可以轉(zhuǎn)換數(shù)據(jù)類型。
我們舉例說明:
jd = ThisDrawing.Utility.AngleToReal(30, 0)
這個表達(dá)式把角度30度轉(zhuǎn)化為弧度,結(jié)果是.523598775598299。
AngleToReal需要兩個參數(shù),前面是表示要轉(zhuǎn)換角度的數(shù)字,而后面一個參數(shù)可以取值為0-4之間的整數(shù),有如下意義:
0:十進(jìn)制角度;1:度分秒格式;2:梯度;3:弧度;4:測地單位
例:id= ThisDrawing.Utility.AngleToReal("62d30' 10""", 1)
這個表達(dá)式計算62度30分10秒的弧度
再看將字符串轉(zhuǎn)換為實數(shù)的方法:DistanceToReal
需要兩個參數(shù),前一個參數(shù)是表示數(shù)值的字符串,后面可以取值1-5,表示數(shù)據(jù)格式,有如下意義:
1:科學(xué)計數(shù);2:十進(jìn)制;3:工程計數(shù)——英尺加英寸;4:建筑計數(shù)——英尺加分?jǐn)?shù)英寸;5:分?jǐn)?shù)格式。
例:以下表達(dá)式得到一個12.5的實數(shù)
temp1 = ThisDrawing.Utility.DistanceToReal("1.25E+01", 1)
temp2 = ThisDrawing.Utility.DistanceToReal("12.5", 2)
temp3 = ThisDrawing.Utility.DistanceToReal("12 1/2", 5)
而realtostring方法正好相反,它把一個實數(shù)轉(zhuǎn)換為字符串。它需要3個參數(shù)
第一個參數(shù)是一個實數(shù),第二個參數(shù)表示數(shù)據(jù)格式,含義同上,最后一個參數(shù)表示精確到幾位小數(shù)。
temp1= ThisDrawing.Utility.RealToString(12.5, 1, 3)
得到這個字符串:“1.250E+01”,
下面介紹一些數(shù)型轉(zhuǎn)換函數(shù):
Cint,獲得一個整數(shù),例:Cint(3.14159) ,得到3
Cvar,獲得一個Variant類型的數(shù)值,例:Cvar("123" & "00"),得到”12300”
Cdate,轉(zhuǎn)換為date數(shù)據(jù)類型,例:MyShortTime = CDate("11:13:14 AM")
下面的代碼可以寫出一串?dāng)?shù)字,從000-099。
Sub test()
Dim add0 As String
Dim text As String
Dim p(0 To 2) As Double
p(1) = 0 'Y坐標(biāo)為0
p(2) = 0 'Z坐標(biāo)為0
For i = 0 To 99 '開始循環(huán)
If i < 10 Then '如果小于10
add0 = "00" '需要加00
Else '否則
add0 = "0" '需要加0
End If
text = add0 & CStr(i) '加零,并轉(zhuǎn)換數(shù)據(jù)
p(0) = i * 100 'X坐標(biāo)
Call ThisDrawing.ModelSpace.AddText(text, p, 4) '寫字
Next i
End Sub
重點解釋條件判斷語句:
If 條件表達(dá)式 Then
……
Else
地址: 浙江省.寧波市鄞州區(qū)寧姜公路(九曲小區(qū)二期旁)
郵編: 315040
聯(lián)系人: 盛立峰
電話: 0574-87139378
傳真: 0574-87139378
手機(jī): 13867861670
Copyright ?2004-2025 寧波市鄞州首南恒宇激光雕刻廠 All Rights Reserved.
地址: 浙江省.寧波市鄞州區(qū)寧姜公路(九曲小區(qū)二期旁) 郵編: 315040 聯(lián)系人: 盛立峰
電話: 0574-87139378 傳真: 0574-87139378 手機(jī): 13867861670