我在 ASP.NET 和 C# 方面遇到了一些问题。这是我的错误代码:
mscorlib.dll 中发生“System.FormatException”类型的异常,但未在 > 用户代码中处理
附加信息:输入字符串的格式不正确。
protected void Page_Load(object sender, EventArgs e)
{
if(this.IsPostBack == false)
{
Currency.Items.Add(new ListItem("Euro", "0.85"));
Currency.Items.Add(new ListItem("Yen", "11.30"));
Currency.Items.Add(new ListItem("PLN", "4.20"));
Currency.Items.Add(new ListItem("GBP", "5.62"));
}
}
protected void Convert_Click(object sender, EventArgs e)
{
decimal oldAmount;
bool succes = Decimal.TryParse(TextBox.Value, out oldAmount);
if(succes)
{
ListItem item = Currency.Items[Currency.SelectedIndex];
decimal newAmount = oldAmount * decimal.Parse(item.Value);
Result.InnerText = "Result: " + newAmount;
}
}
我尝试了 Decimal.Parse、Decimal.TryParse 和其他奇怪的组合。现在我确信问题出在字符串并将它们解析为十进制。当我创建字符串变量时 - 解析时出现同样的错误。那么有人可以告诉我该怎么做才能将字符串转换为十进制吗?
尝试使用“0,85”而不是“0.85”。我认为如果你改变文化,你可以使用点小数。
以下是更多信息:如何更改 double.ToString() 中的小数点符号?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)