从函数内的用户输入中读取浮点变量

时间:2016-09-17 20:44:04

标签: c# function user-input

我正在修改一个简单的c#程序,它显示了一个矩形区域,它在控制台中写入了它的宽度和高度(最初在程序中给出了宽度和高度的值)。但是,用户输入部分似乎不起作用。我已经尝试Convert.ToInt32()我甚至将变量更改为整数,即使它们应该是浮点数,认为转换将以这种方式工作,但无济于事。我得到的错误是:“错误CS0266:不能隐式地将类型'double'转换为'int'。“

问题是,我该怎么做才能使这个工作?我想我可以删除该功能,只需在主要代码中编写代码,但我正在努力学习如何使用这些功能,如果可以,我会很感激告诉我一种在不删除函数的情况下给变量值输入键盘输入的方法。

class Rectangle
{
    // member variables
    double length;
    double width;
    public void Acceptdetails()

      {
        //read length and width from the keyboard
        length = Convert.ToDouble(Console.ReadLine());
        width = Convert.ToDouble(Console.ReadLine());
    }
    public double GetArea()
    {
        return length * width;
    }

    public void Display()
    {   //display the length width and area
        Console.WriteLine("Length: {0}", length);
        Console.WriteLine("Width: {0}", width);
        Console.WriteLine("Area: {0}", GetArea());
    }
}

class ExecuteRectangle
{
    static void Main(string[] args)
    {
        Rectangle r = new Rectangle();
        r.Acceptdetails();
        r.Display();
        Console.ReadLine();
   }
}

2 个答案:

答案 0 :(得分:1)

我建议使用decimal.TryParse()

请参阅此答案以获取详细信息:Need help with accepting decimals as input in C#

答案 1 :(得分:0)

Console.ReadLine()是您忘记的函数()

这应该有效

        length = Convert.ToInt32(Console.ReadLine());
        width = Convert.ToInt32(Console.ReadLine());