如果你真的不想/不能使用內置的功能貨幣或時間格式,如果你的數據總是以同樣的格式(即currency symbol
+ value
+ per hour
在這個例子中,但無論如何,「可預測的」) ,那麼你可以添加到您的項目:
的字符串 - >數函數 「清理」,從貨幣符號和「每小時」符號的價值,在雙類型,因此返回它:
Public Function StringToNumber(ByVal stringValue As String) As Double
stringValue = stringValue.Replace("£", "")
stringValue = stringValue.Replace("/Hr", "")
Convert.ToDouble(stringValue)
Return stringValue
End Function
一個數字 - >字符串函數重新寫在最後的貨幣符號和「每小時」:
Public Function NumberToString(ByVal myValue As Double) As String
Return "£" & myValue & "/Hr"
End Function
這樣,你就可以通過簡單地使用這些執行所有你想要的操作兩個功能,將允許一個數據點轉化爲你的快樂(要使用到的代碼):
Public Sub yourProcedure()
Dim myString As String : myString = "£20.00/Hr"
MsgBox("If I add 10 GBP per hour, the hourly pay will be " & NumberToString(StringToNumber(myString) + 10))
End Sub
這是想法,如果有自定義值,如「貨幣/價值/每小時」。我讓你管理來自不同貨幣符號或不同時間度量的「每小時」可能出現的複雜性。
刪除傳統的VB6東西('Val','Str')並使用內置的.NET函數和格式。 [標準數字格式字符串](http://msdn.microsoft.com/en-us/library/dwhawy9k%28v=vs.110%29.aspx)和[自定義數字格式字符串](http://msdn.microsoft .com/en-us/library/vstudio/0c899ak8%28v = vs.100%29.aspx)有大量信息。 – Tim 2014-11-23 17:19:30