我对编程完全陌生,所以这可能是一个愚蠢的问题,但答案很简单。我的应用程序允许用户输入数字,选择他们正在使用的测量单位,选择他们要转换的测量单位并进行转换。
我在最后一行代码中有一个错误导致它无法工作:“无法将类型“int”隐式转换为“string”。有人可以帮忙吗?
代码如下:
private void convertButton_Click(object sender, EventArgs e)
{
int fromDistance;
int toDistance;
fromDistance = int.Parse(distanceInput.Text);
string measureInput = fromList.Items[fromList.SelectedIndex].ToString();
string measureOutput = toList.Items[toList.SelectedIndex].ToString();
switch (measureInput)
{
case "Yards":
switch (measureOutput)
{
case "Yards":
toDistance = fromDistance;
break;
case "Feet":
toDistance = fromDistance * 3;
break;
case "Foot":
toDistance = fromDistance * 3 * 12;
break;
}
break;
case "Feet":
switch (measureOutput)
{
case "Feet":
toDistance = fromDistance;
break;
case "Yards":
toDistance = fromDistance / 3;
break;
case "Foot":
toDistance = fromDistance * 12;
break;
}
break;
case "Foot":
switch (measureOutput)
{
case "Foot":
toDistance = fromDistance;
break;
case "Feet":
toDistance = fromDistance / 12;
break;
case "Yards":
toDistance = fromDistance / (3 * 12);
break;
}
break;
}
distanceOutput.Text = toDistance;
}
最佳答案
distanceOutput.Text = toDistance.ToString();
看起来您可能习惯于动态类型语言? int 以二进制表示形式存储,可以表示许多不同的值。 .ToString() 转换为最常见的表示形式。
顺便说一句,您可能不应该使用整数作为计算值类型,因为您会丢弃小数。使用 double 或 float,并使用 Math.Round(number,decimalPoints) 。
关于c# - C# 中英寸、英尺和码的距离转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19215142/