如果你真的不想/不能使用内置的功能货币或时间格式,如果你的数据总是以同样的格式(即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