用C#去格式化货币

时间:2010-03-08 20:19:02

标签: c#

我有一个字符串值来自.aspx页面中的标签,如下所示。

string text = Price.Text; // Price.Text = "$31.07"
Single value = Convert.ToSingle(text); //throws FormatException

我可以用空文本替换$符号然后转换为Single但我想知道是否有更好的方法将带有'$'符号的文本解格式化为单个。

5 个答案:

答案 0 :(得分:10)

您可以执行以下操作:

string text = Price.Text; // Price.Text = "$31.07"
Single value = Single.Parse(text, NumberStyles.Currency);

答案 1 :(得分:0)

我建议您按照建议删除“$”,然后使用Single.Parse()将字符串转换为数字。

答案 2 :(得分:0)

只做

string text = Price.Text;
text=text.Replace("$","");
Single value = Convert.ToSingle(text);

答案 3 :(得分:0)

如果美元是您的计算机本机货币,您可以使用:

Single value = Single.Parse("$31.07", NumberStyles.Currency);

如果不是,我会去剥离。

答案 4 :(得分:0)

使用其他文化:

decimal.Parse("£12,345.67", NumberStyles.Any, new CultureInfo("en-GB"));
decimal.Parse("€12.345,67", NumberStyles.Any, new CultureInfo("nl-NL"));