在制作转换器时遇到麻烦
本文关键字:遇到 麻烦 转换器 | 更新日期: 2023-09-27 18:14:00
我正在尝试在c#中制作一个非常简单的千克到磅转换器。要做到这一点,我希望读取用户的数字,乘以2.2,将其存储为变量,然后打印结果。然而,我得到了一个错误的行,我乘以它的2.2说"操作符'*'不能应用于'字符串'或'双'类型的操作数"。我真的看不出我做错了什么。下面是我的代码:
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();
}
}
Convert.ToDouble
返回转换为double的值。它不能转换参数(由于各种原因—您将在以后遇到这些原因)。您正在尝试乘以原始值,该值是string
,而不是数字。
应该这样做:
var poundsString = Console.ReadLine();
var pounds = Convert.ToDouble(poundsString);
var kilos = pounds * 2.2;
另外,使用double.TryParse
可能是一个更好的主意,这样您就可以优雅地处理无效输入。
Kilo amount在任何地方都不被赋值为double:
double newKiloAmount = Convert.ToDouble(kiloAmount);