C#是否有内置函数将格式化的String转换回数字?

如何将格式化数字的字符串转换回数字?

Decimal percent = 55.76; String strPercent = String.Format("{0:0.0}%", percent); Decimal dollars = 33.5; String strDollars = String.Format("{0:C}", dollars); 

稍后说,我希望得到百分比和美元价值,作为数字。 使用C#和asp.net是否有任何内置方法可以做到这一点? 我知道我如何使用正则表达式和一个字符串函数,但我从http://msdn.microsoft.com/en-us/library/ks098hd7(vs.71).aspx读到了一个Decimal.Parse()函数。

是否有内置函数来执行此操作? 如果是,我该如何使用它?

使用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文档 。

int.Parse,double.Parse等是你的朋友。

编辑:错过了标点符号部分。 将重新调查并提出更好的建议。

编辑2:事实certificateint.Parse实际上有一个重载采取格式字符串: http : //msdn.microsoft.com/en-us/library/c09yxbyt.aspx