Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 做转换器有困难吗_C# - Fatal编程技术网

C# 做转换器有困难吗

C# 做转换器有困难吗,c#,C#,我正试图用c#制作一个非常简单的千克-磅转换器。为此,我希望读取用户的数字,乘以2.2,将其存储为变量,然后打印结果。 但是,我在行中得到一个错误,我将其乘以2.2,表示“运算符'*'不能应用于'string'或'double'类型的操作数”。我真的看不出我做错了什么。这是我的密码: class Program { static void Main(string[] args) { //this application will convert kilograms

我正试图用c#制作一个非常简单的千克-磅转换器。为此,我希望读取用户的数字,乘以2.2,将其存储为变量,然后打印结果。 但是,我在行中得到一个错误,我将其乘以2.2,表示“运算符'*'不能应用于'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();
    }
}

未将千克数量分配为双倍:

double newKiloAmount = Convert.ToDouble(kiloAmount);

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

相反,请执行以下操作:

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

var kilos = pounds * 2.2;

另外,最好使用
double.TryParse
,这样您可以优雅地处理无效输入。

对不起,刚刚意识到应该是千克数,而不是磅数。如果您希望更改内容或提供更多信息等,您可以问您的问题