我有一个带有价格列的访问数据库为文本类型我想将其转换为double以进行一些比较问题是该列具有如下所示的值:
5.22
2.5$
62.5
34.6$
45.3
65.9$
所以Convert.ToDouble
可以正常使用不包含“$”符号的值,那么如何在将文本转换为double之前从文本中删除$符号?
基本上这个想法是
检查是否有“$”
从文字中删除“$”
隐蔽地加倍......
最好从小数点以外的数字中删除任何内容
答案 0 :(得分:0)
请勿使用Double
作为货币。使用Decimal
。
抱歉,我来自C#,但是怎么样:
string str = "34.6$";
if (str.EndsWith("$"))
str = str.Substring(0, str.Length-1);
var value = Decimal.Parse(str);
粗暴转换:
Dim str As String = "34.6$"
If str.EndsWith("$") Then
str = str.Substring(0, str.Length - 1)
End If
Dim value = [Decimal].Parse(str)
答案 1 :(得分:0)
您可以使用String.Replace
。无需检查“$”。如果它在那里,它将被替换。
Dim value1 As String = "12.7$"
Dim value2 As String = value1.Replace("$", "")
MessageBox.Show(value2)