c# - C# 中英寸、英尺和码的距离转换器

标签 c# visual-studio-2010 units-of-measurement

我对编程完全陌生,所以这可能是一个愚蠢的问题,但答案很简单。我的应用程序允许用户输入数字,选择他们正在使用的测量单位,选择他们要转换的测量单位并进行转换。

我在最后一行代码中有一个错误导致它无法工作:“无法将类型“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/

相关文章:

f# - 使用 F# 测量单位将 m/s 转换为 km/h

c# - 计算网格边之间的距离

c# - 异步/等待 - 是*并发*吗?

c# - 尾递归优化发生在 visual studio 10 x64 调试中但不是在发布中?

audio - AUMIDIEffectBase,错误验证插件

visual-studio-2010 - 在 Visual C# Express 2010 中执行的当前代码行上停止调试器

c# - 局部变量在 Visual Studio 2010 中出现超出范围

c# - Format string in ICS Fle(为 ICS 文件设置字体)

c# - WCF 序列化和缓存

c# - 为什么 C# 不允许使用组合的类型对接口(interface)进行隐式转换?