所以我在这里遇到一个非常奇怪的问题。
我创建了一个ListItem item = Currency.Items[Currency.SelectedIndex];
货币是我的标签。一切都在这里好吧。物品将获得该价值
我在aspx页面中选择了什么。但是,当我尝试使用item.Value
将decimal newAmount
转换为decimal.Parse(item.Value)
时,会出现此问题。
继承代码
protected void Convert_money(object sender, EventArgs e)
{
decimal oldAmount;
bool success = decimal.TryParse(US.Value, out oldAmount);
if (success)
{
ListItem item = Currency.Items[Currency.SelectedIndex];
string s = item.Value;
decimal newAmount = oldAmount * decimal.Parse(s);
// decimal newAmount = oldAmount * decimal.Parse(s);
Result.InnerText = s;
}
else
Result.InnerText = "error";
}
它抛出: 输入字符串的格式不正确。 我完全从我的书中复制并搜索了答案,但无法找到解决方案。
答案 0 :(得分:0)
您应该考虑用于解析数字的区域性文化。 您应该尝试overload of the Parse method that takes an IFormatProvider。
如果您始终使用小数点作为分隔符,则还可以使用decimal.Parse(s, System.Globalization.CultureInfo.InvariantCulture)
。