我真的很了解编程的基础知识,同时写了几行代码将Celsius转换为Fahrenheit,这很容易让我开始怀疑以下内容: 是否可以根据我是否在控制台中编写的程序让我看到答案: 25C //转换为F 或例如100F //转换为C
到目前为止,我的知识涉及高级的“ if”构造和“ for”循环。刚刚开始学习“做某事”。
我缺少一些知识,该知识如何正确搜索数字&&特定字符的输入以进行正确的计算。
我知道进行输入似乎有点复杂: 25F //而不是
25
F
但这将扩展我的知识和理解。 我现在将尝试使用后者,应该很容易,但是却找不到前者的方法。
提前谢谢! 达林
答案 0 :(得分:4)
在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());
}
这里有“尝试/捕捉”功能,可以处理输入无效数字的错误情况。 还要检查其他字符串方法。例如ToLower()可以同时处理“ f”和“ F”。
祝你好运。
答案 1 :(得分:0)
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);
}