C#中是否有一个内置的功能格式化字符串转换回数字? [英] C# Is there a built-in function to convert a formatted String back to a Number?

查看:124
本文介绍了C#中是否有一个内置的功能格式化字符串转换回数字?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要如何转换成一个字符串,是一个格式化的数字,回多少?

How do I convert a string that's a formatted number, back to a number?

  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

有一个内置的功能来做到这一点?如果是的话,我该如何使用呢?

Is there a built-in function to do this? If yes, how can I use it?

推荐答案

使用 Decimal.Parse ,你可以传递一个 System.Globalization.NumberStyles 来控制如何将字符串解析。
这将让你转换货币字符串回小数容易。
不幸的是的NumberStyles 不支持的百分比,所以你仍然需要单独剥离百分号了。

Using Decimal.Parse, you can pass a System.Globalization.NumberStyles to control how strings are parsed. This will let you convert currency strings back to decimals easily. Unfortunately NumberStyles does not support percentages, so you'll still have to strip the percentage symbol out separately.

        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文档

See the NumberStyles documentation for more info.

这篇关于C#中是否有一个内置的功能格式化字符串转换回数字?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆