C# 输入的格式不正确
不确定到底是什么问题,但可能您有一个问题,即您的文本框中没有双精度值。要解决此问题,可以使用double.tryparse而不是Convert.ToDouble或double.parseC# 输入的格式不正确,c#,.net,C#,.net,不确定到底是什么问题,但可能您有一个问题,即您的文本框中没有双精度值。要解决此问题,可以使用double.tryparse而不是Convert.ToDouble或double.parse protected void BtnCal_click(object sender, EventArgs e) { { double result = 0; double width; double
protected void BtnCal_click(object sender, EventArgs e)
{
{ double result = 0;
double width;
double length;
double radius;
double breath;
radius = (Convert.ToDouble(TextRadius.Text));
length = (double.Parse(TextLength.Text));
breath = (double.Parse(TextBreath.Text));
width = (Convert.ToDouble(TextWidth.Text));
if (DropDownShapes.SelectedValue == "cir")
{ double pi = 3.142;
result = radius * radius * pi;
TextWidth.Text = "0";
TextLength.Text = "0";
TextBreath.Text = "0";
}
else if (DropDownShapes.SelectedValue == "tri")
{ result = length * breath * 0.5;
TextWidth.Text = "0";
TextRadius.Text = "0";
}
else if (DropDownShapes.SelectedValue == "rec")
{ result = length * width;
TextRadius.Text = "0";
TextLength.Text = "0";
TextBreath.Text = "0"
}
else
{
TextArea.Text = result.ToString();
}
}
}
Convert.ToDouble和double.Parse将抛出一个exeption,而double.TryParse将在无法解析时返回false
也在这里回答:
问题是?上次我检查时,
TryParse
接受多个参数,并返回bool
s以表示成功。这些代码行不会编译double.TryParse
接受的不仅仅是一个参数。你们都是对的,谢谢你们的注意。。。我采纳了答案。我不确定这是否有帮助。关于ibtihaj khan的代码还有一些问题。。。e、 g.为什么结果只显示在else等中。。。
double.TryParse(TextRadius.Text, out radius);
double.TryParse(TextLength.Text, out length);
double.TryParse(TextBreath.Text, out breath);
double.TryParse(TextWidth.Text, out width);