C# 做转换器有困难吗
我正试图用c#制作一个非常简单的千克-磅转换器。为此,我希望读取用户的数字,乘以2.2,将其存储为变量,然后打印结果。 但是,我在行中得到一个错误,我将其乘以2.2,表示“运算符'*'不能应用于'string'或'double'类型的操作数”。我真的看不出我做错了什么。这是我的密码:C# 做转换器有困难吗,c#,C#,我正试图用c#制作一个非常简单的千克-磅转换器。为此,我希望读取用户的数字,乘以2.2,将其存储为变量,然后打印结果。 但是,我在行中得到一个错误,我将其乘以2.2,表示“运算符'*'不能应用于'string'或'double'类型的操作数”。我真的看不出我做错了什么。这是我的密码: class Program { static void Main(string[] args) { //this application will convert kilograms
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
,这样您可以优雅地处理无效输入。对不起,刚刚意识到应该是千克数,而不是磅数。如果您希望更改内容或提供更多信息等,您可以问您的问题