我试图用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();
}
}
答案 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);