无法制作转换器

时间:2015-09-22 11:57:15

标签: c#

我试图用c#制作一个非常简单的千克磅转换器。为此,我希望读取用户的数字,乘以2.2,将其存储为变量,然后打印结果。 但是,我收到错误的地方,我用它来说2.2" operator' *'不能应用于' string'类型的操作数或者' double'"。我真的不明白我做错了什么。这是我的代码:

class Program
{
    static void Main(string[] args)
    {
        //this application will convert kilograms to pounds
        string kiloAmount;
        Console.WriteLine("Type the number of pounds:");
        kiloAmount = Console.ReadLine();
        Convert.ToDouble(kiloAmount);
        double poundsAmount = kiloAmount * 2.2;
        Console.WriteLine(kiloAmount);
        Console.ReadKey();
    }
}

2 个答案:

答案 0 :(得分:4)

Convert.ToDouble 返回转换为double的值。它无法转换参数(出于各种原因 - 随着时间的推移会遇到这些因素)。您试图将原始值乘以string,而不是数字。

相反,这样做:

var poundsString = Console.ReadLine();
var pounds = Convert.ToDouble(poundsString);

var kilos = pounds * 2.2;

此外,使用double.TryParse可能更好一点,这样您就可以优雅地处理无效输入。

答案 1 :(得分:1)

Kilo金额未在任何地方指定为double:

double newKiloAmount = Convert.ToDouble(kiloAmount);