在制作转换器时遇到麻烦

本文关键字:遇到 麻烦 转换器 | 更新日期: 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);