Используя Decimal.Parse
, вы можете передать System.Globalization.NumberStyles
, чтобы контролировать, как анализируются строки.
Это позволит вам легко конвертировать валютные строки в десятичные.
К сожалению, NumberStyles
не поддерживает проценты, поэтому вам все равно придется отдельно вырезать символ процента.
Decimal percent = 55.76M;
String strPercent = String.Format("{0:0.0}%", percent);
Decimal dollars = 33.5M;
String strDollars = String.Format("{0:C}", dollars);
Decimal parsedDollars = Decimal.Parse(strDollars, NumberStyles.Currency);
Decimal parsedPercent = Decimal.Parse(
strPercent.Replace(
NumberFormatInfo.CurrentInfo.PercentSymbol,
String.Empty));
См. Документацию NumberStyles для получения дополнительной информации.