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