对于使用String.Format创建的货币字符串,decimal.parse失败?

时间:2011-04-05 18:52:27

标签: asp.net vb.net decimal currency

我有一个通过以下方式显示的字段:

String.Format({0:c},amount)

这会产生字符串“$ 28.28”

但是,当我尝试转换回十进制数量时,我得到一个不正确的格式异常:

amount = Decimal.Parse(amount.Text, NumberStyles.Currency)

我也用NumberStyles.AllowCurrencySymbol尝试了相同的结果。我验证了amount.Text中的值是“$ 28.28”。

我错过了什么吗?这两个操作不应该使用相同的货币符号和格式吗?

2 个答案:

答案 0 :(得分:2)

var amount = decimal.Parse("$28.28", NumberStyles.Currency);

对我来说很好。确保您的输入字符串符合您的想法。

答案 1 :(得分:0)

这些是在不同的机器上吗? 机器设置不同。 默认格式在控制面板区域设置中设置。