开发者

How to Use substring in c#?

I have -$2.00 as the string开发者_如何学Go. I am trying to change it to decimal by removing - and $ using substring, but I am doing it wrong. Can someone help me?

Thanks.


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


Substring will return a new string. I suspect your issue is likely from trying to mutate the string in place, which does not work.

You can do:

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

Depending on how the input string is generated, you may want to use decimal.TryParse instead, or some other routine with better error handling.


Don't.

Instead, you should make .Net do the dirty work for you:

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

If, for some reason, you don't want a negative number, call Math.Abs.


All string operations return a new string, because string is immutable


I wouldn't use substring if you can avoid it. It would be much simpler to do something like:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜