如何在c#中使用子字符串?

时间:2011-03-30 17:35:12

标签: c#

我有 - $ 2.00作为字符串。我试图通过删除 - 和$ using substring将其更改为十进制。但我做错了。有人能帮我吗?

感谢。

5 个答案:

答案 0 :(得分:6)

string m = "-$2.00";
decimal d = Math.Abs(Decimal.Parse(m, NumberStyles.Currency));

答案 1 :(得分:5)

Substring将返回一个新字符串。我怀疑你的问题可能是试图改变字符串,这不起作用。

你可以这样做:

string result = original.Substring(2);
decimal value = decimal.Parse(result);

根据输入字符串的生成方式,您可能希望使用decimal.TryParse或其他一些具有更好错误处理的例程。

答案 2 :(得分:3)

别。

相反,你应该让.Net为你做肮脏的工作:

Decimal value = Decimal.Parse("-$2.00", NumberStyles.Currency);

如果出于某种原因,您不想要负数,请致电Math.Abs

答案 3 :(得分:2)

所有字符串操作都返回一个新字符串,因为string是不可变的

答案 4 :(得分:1)

如果可以避免,我不会使用子字符串。做一些像这样的事情要简单得多:

string result = original.Replace("$", "").Replace("-", "");