Vb.net 使用货币符号计算值
我主要关注的是用额外的货币符号(£和/Hr)计算最终值,所以我想问你的问题是,是否有办法将编码主要集中在“20.00”,但是,如果您确实不想/无法使用内置函数进行货币或时间格式设置,并且如果您的数据总是使用相同的格式(例如,货币符号+Vb.net 使用货币符号计算值,vb.net,visual-studio,Vb.net,Visual Studio,我主要关注的是用额外的货币符号(£和/Hr)计算最终值,所以我想问你的问题是,是否有办法将编码主要集中在“20.00”,但是,如果您确实不想/无法使用内置函数进行货币或时间格式设置,并且如果您的数据总是使用相同的格式(例如,货币符号+值+每小时,但无论如何是“forecastable”),仍然使用货币sybmols显示最终输出,然后,您可以将以下内容添加到项目中: 字符串->数字函数 要从货币符号和“每小时”符号中“清除”您的值,从而以双精度类型返回值: Case "Labour"
值
+每小时
,但无论如何是“forecastable”),仍然使用货币sybmols显示最终输出,然后,您可以将以下内容添加到项目中:
字符串->数字函数
要从货币符号和“每小时”符号中“清除”您的值,从而以双精度类型返回值:
Case "Labour"
TxtBUP1.Text = "£" & "20.00" & "/Hr"
Unitcost = Val(TxtBUP1.Text) * Val(CBQty1.Text)
TxtBCost1.Text = Str(Unitcost)
'Individual Cost [Value + Qty]
数字->字符串函数用于重新写入货币符号和末尾的“每小时”:
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
如果您有诸如“货币/价值/每小时”之类的自定义值,这就是您的想法。我可以让您管理不同货币符号或“每小时”的不同时间度量可能带来的复杂性 删除旧版VB6内容(Val
,Str
),并使用内置的.NET函数和格式。而且有大量的信息。
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