子串在末尾留下一个大括号,没有转义大括号

时间:2014-06-01 12:42:35

标签: c# string

我在C#中有string,使用decimalString.Format()值转换,并将数字舍入为2位小数:

string result = "some stuff $" + String.Format("{0:0.00}", decValue);

因此,result变量类似于:some stuff $4.99

result变量实际上是一个较大的string,其decimal值附加到其末尾。所以,当我从字符串中得到实际的decimal值时,我会做这样的事情:

string str = result;
str = str.Substring(str.LastIndexOf("$")+1);
decimal dec = decimal.Parse(str);

问题是,Substring()方法在返回的子字符串的末尾留下了一个大括号},所以我实际上无法将其解析为小数:

4.99}

我可以手动摆脱支架,但我不知道为什么我应该这样做,因为Substring()为什么实际上将支架悬挂在那里是没有意义的。< / p>

1 个答案:

答案 0 :(得分:0)

谢谢大家的意见。我实际上已经找到了问题并且完全不同。我正在使用ListView,我得到list.SelectedItems[0].ToString()值。这个值本身返回了类似于ListViewItem: {Item Here}的内容,它解释了大括号。然而,我确实用Chris建议的ToString("0.00")更改了格式。