我在C#中有string
,使用decimal
从String.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>
答案 0 :(得分:0)
谢谢大家的意见。我实际上已经找到了问题并且完全不同。我正在使用ListView,我得到list.SelectedItems[0].ToString()
值。这个值本身返回了类似于ListViewItem: {Item Here}
的内容,它解释了大括号。然而,我确实用Chris建议的ToString("0.00")
更改了格式。