您可以使用CLng函數()將字符串轉換爲一個長變量
CLng函數()將拋出一個錯誤,雖然,如果它不喜歡的字符串的內容(例如,如果它包含非數字字符),所以用它當你確定自己的字符串將只包含數字
更寬容是它使用瓦爾()將字符串轉換成數值變量(double默認情況下)
我還建議你看看以下功能:
- 升序():返回一個字符
- CHR $()的ASCII值:羽ASCII值成字符
- 左$():返回一個字符串
- CSTR反應器的第一字符( ):將數字轉換成字符串
我想在你的代碼,你的意思是,以顯示你的變量stringposition而不是單詞「stringposition」的內容,所以你應該刪除「」
我做懷疑雖然哇T優試圖用你的代碼來完成,但應用上述到您的代碼給出:
Dim sha As String
Dim stringposition As Long
Dim EngNumber As Long
sha = "abcdefghifjklmnopqrstuvwxyz"
stringposition = InStr(1, sha, Left$(cmbEngletter.Text, 1))
MsgBox CStr(stringposition)
EngNumber = (Val(txtManuNo.Text) * 10) + stringposition
我用瓦爾(),因爲我不能肯定你txtManuNo將只包含數字
爲了確保用戶只能輸入數字,你可以使用下面的代碼:
Private Sub txtManuNo_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKeyBack
'allowe backspace
Case vbKey0 To vbKey9
'allow numbers
Case Else
'refuse any other input
KeyAscii = 0
End Select
End Sub
的用戶仍然可以輸入非數字charcters具有儘管其他方法,如通過鼠標操作複製粘貼,但它是一個快速簡便的第一過濾
這裏有內置函數。看看Asc和AscW。沒有VB6,所以不能更具體。 – phaedra
只要txtManuNo中的文本是數字,它就會工作。 VB6爲你做了一個隱式轉換。我贊同phaedra,並且懷疑你是否做了比需要更多的工作。 – jac