【发布时间】:2019-03-14 23:11:58
【问题描述】:
谁能帮我解决c#中的以下错误。
System.FormatException: Input string was not in a correct format
下面是代码:
CultureInfo culture = new CultureInfo("en-US");
txtTotalPrice.Text = totalPrice.ToString("c", culture);
private void btnCheck_Click(object sender, EventArgs e)
{
// ...................................
decimal totalPrice = Convert.ToDecimal(txtTotalPrice.Text.Split(',')[0]) * 1000;
decimal finalPrice = totalPrice - (totalPrice / 100) * discount;
// ......................................
}
【问题讨论】:
-
点击按钮时txtTotalPrice.Text的内容是什么?
-
哪一行抛出异常?
-
检查
decimal totalPrice = Convert.ToDecimal(txtTotalPrice.Text.Split(',')[0]) * 1000;这一行——文本框是问题的根源。您应该验证文本框的值以确保它是您认为的那样,而不是天真地将值输入转换函数。 -
txtTotalPrice.Text 在我们单击 btnCheck_Click 时使用。我不知道为什么当我更改如下代码时没有错误: CultureInfoculture = new CultureInfo("vi-VN"); txtTotalPrice.Text = totalPrice.ToString("c",culture); private void btnCheck_Click(object sender, EventArgs e) { // ................................... double totalPrice = Convert.ToDouble(txtTotalPrice.Text.Split(',')[0]) * 1000; double finalPrice = totalPrice - (totalPrice / 100) * 折扣; // ...................................... }