我有一个通过以下方式显示的字段:
String.Format({0:c},amount)
这会产生字符串“$ 28.28”
但是,当我尝试转换回十进制数量时,我得到一个不正确的格式异常:
amount = Decimal.Parse(amount.Text, NumberStyles.Currency)
我也用NumberStyles.AllowCurrencySymbol尝试了相同的结果。我验证了amount.Text中的值是“$ 28.28”。
我错过了什么吗?这两个操作不应该使用相同的货币符号和格式吗?
答案 0 :(得分:2)
var amount = decimal.Parse("$28.28", NumberStyles.Currency);
对我来说很好。确保您的输入字符串符合您的想法。
答案 1 :(得分:0)
这些是在不同的机器上吗? 机器设置不同。 默认格式在控制面板区域设置中设置。