C# 检查输入是否有要在C中计算的数字和字符串#

C# 检查输入是否有要在C中计算的数字和字符串#,c#,C#,我非常喜欢编程的基础知识,在编写几行代码将摄氏温度转换为华氏温度时,我开始思考以下问题: 我是否可以让程序显示答案,取决于我是否在控制台中写入: 25C//转换为F 或者,例如100F//转换为C 到目前为止,我的知识涉及到高级的“如果”构造和“for”循环。刚开始学习“做一会儿” 我缺少一些知识,如何正确地搜索输入的数字和特定字符,以便进行正确的计算 我知道做输入似乎有点复杂: 25F//在一行中,而不是 二十五 F 但这将扩大我的知识和理解。 我现在将尝试后者,应该很容易,但不知道如何做前者

我非常喜欢编程的基础知识,在编写几行代码将摄氏温度转换为华氏温度时,我开始思考以下问题: 我是否可以让程序显示答案,取决于我是否在控制台中写入: 25C//转换为F 或者,例如100F//转换为C

到目前为止,我的知识涉及到高级的“如果”构造和“for”循环。刚开始学习“做一会儿”

我缺少一些知识,如何正确地搜索输入的数字和特定字符,以便进行正确的计算

我知道做输入似乎有点复杂: 25F//在一行中,而不是

二十五

F

但这将扩大我的知识和理解。 我现在将尝试后者,应该很容易,但不知道如何做前者

提前谢谢! Darin

在C#中,任何字符串实际上都是一个类,其中包含有用的方法,例如:

        string input = "25F";

        if (input.EndsWith("F"))
        {
            // handle Fahrenheit
        }
然后你可以像这样去掉最后一个字符:

string inputWithoutLastCharacter = input.Substring(0, input.Length - 1);
要将字符串转换为数字,您可以:

    try
    {
        int number = int.Parse(inputWithoutLastCharacter);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Could not convert your input to a number " + ex.ToString());
    }
Try/catch用于处理输入不是有效数字的错误情况。 还可以查看字符串的其他方法。例如,ToLower()来处理“f”和“f”

祝你好运。

在C#中,任何字符串实际上都是一个类,其中包含有用的方法,例如:

        string input = "25F";

        if (input.EndsWith("F"))
        {
            // handle Fahrenheit
        }
    String temp = Console.ReadLine();
    char scale = temp[temp.Length-1];
    if(temp.ToUpper().Contains("F")) {
        int temperature = Int32.Parse(temp.Remove(temp.Length-1,1));
        double celciusValueOfTemp = (temperature-32)/1.8;
        Console.WriteLine(celciusValueOfTemp);
    }
    else if(temp.ToUpper().Contains("C")) {
        int temperature = Int32.Parse(temp.Remove(temp.Length-1,1));
        double fahrenheitValueOfTemp = temperature*1.8+32;
        Console.WriteLine(fahrenheitValueOfTemp);
    }
然后你可以像这样去掉最后一个字符:

string inputWithoutLastCharacter = input.Substring(0, input.Length - 1);
要将字符串转换为数字,您可以:

    try
    {
        int number = int.Parse(inputWithoutLastCharacter);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Could not convert your input to a number " + ex.ToString());
    }
Try/catch用于处理输入不是有效数字的错误情况。 还可以查看字符串的其他方法。例如,ToLower()来处理“f”和“f”


祝你好运。

为什么不
int.TryParse
?不过,谢谢你出乎意料的及时回复!这真的很有用,而且已经足够了。我必须学习更多关于字符串方法和操作的知识。两个月前,我刚刚涉足开发领域,但仅仅两周前,我就专注于“编程基础知识”,因为我想为本课程做准备。一位来自学校的朋友,毕生致力于打造有才华的开发人员,在保加利亚创建了SoftUni,拥有超过25年的软件工程师经验。他叫斯维特林·纳科夫。因此,我相信他的学费计划,并将坚持我的大脑成功!int.TryParse()也一样好。在过去,异常处理速度很慢,实际上会更好。但为什么不为教育目的引入例外情况呢D对于异常,您可以从异常类型和消息中了解出了什么问题。这真的取决于你需要什么。为什么不
int.TryParse
?不过,谢谢你出乎意料的及时回复!这真的很有用,而且已经足够了。我必须学习更多关于字符串方法和操作的知识。两个月前,我刚刚涉足开发领域,但仅仅两周前,我就专注于“编程基础知识”,因为我想为本课程做准备。一位来自学校的朋友,毕生致力于打造有才华的开发人员,在保加利亚创建了SoftUni,拥有超过25年的软件工程师经验。他叫斯维特林·纳科夫。因此,我相信他的学费计划,并将坚持我的大脑成功!int.TryParse()也一样好。在过去,异常处理速度很慢,实际上会更好。但为什么不为教育目的引入例外情况呢D对于异常,您可以从异常类型和消息中了解出了什么问题。这真的取决于你需要什么。默特,这非常有用。非常感谢。似乎我需要学习大多数字符串方法才能拥有更大的工具箱。Mert,这非常有用。非常感谢。似乎我需要学习大多数字符串方法才能拥有更大的工具箱。
    String temp = Console.ReadLine();
    char scale = temp[temp.Length-1];
    if(temp.ToUpper().Contains("F")) {
        int temperature = Int32.Parse(temp.Remove(temp.Length-1,1));
        double celciusValueOfTemp = (temperature-32)/1.8;
        Console.WriteLine(celciusValueOfTemp);
    }
    else if(temp.ToUpper().Contains("C")) {
        int temperature = Int32.Parse(temp.Remove(temp.Length-1,1));
        double fahrenheitValueOfTemp = temperature*1.8+32;
        Console.WriteLine(fahrenheitValueOfTemp);
    }