现在已经尝试了4个多小时,我一点也不专家,我肯定需要帮助。什么出了什么问题?
// Declare variables
int inches = 0;
double centimetres = 0;
string input;
//Ask for input
Console.Write("Enter Number of centimetres to be converted: ");
input = Console.ReadLine();
//Convert string to int
centimetres = double.Parse(input);
inches = int.Parse(input);
inches = int.Parse(centimetres / 2.54);
//Output result
Console.WriteLine("Inches = " + inches + "inches.");
}
}
答案 0 :(得分:1)
“转化”inches = int.Parse(centimetres / 2.54);
毫无意义。 int.Parse
用于将代表数字的string
转换为int
。但是你传递double
。
要使其正常工作,您的代码必须如下所示:
//Ask for input
Console.Write("Enter Number of centimetres to be converted: ");
double input = Console.ReadLine();
//Convert string to int
double centimetres = double.Parse(input);
double inches = centimetres / 2.54;
//Output result
Console.WriteLine("Inches = " + inches + "inches.");
有些观点:
inches = int.Parse(input);
,因为结果永远不会被使用,因为它会在下一行被覆盖。inches
声明为double
而不是int
。否则你将无法获得分数英寸。inches
即可。这里不需要解析。答案 1 :(得分:0)
centimetres / 2.54
的结果是双倍的,int.Parse
答案 2 :(得分:0)
问题最像这一行: inches = int.Parse(厘米/2.54);
int.Parse采用字符串,厘米/ 2.54是双精度。要将double转换为int,请改用Convert.ToInt32。