日期:2014-05-18  浏览次数:20974 次

关于用户输入的CONSOLE.WRITELINE为什么类型
刚学VS没多久,想问一下用户在VS里面打的命令“CONSOLE.READLINE”它在CMD窗口显示的究竟算是什么类型
为什么我这个程序要转成DOUBLE型的,不是计算三角形的周长和边都应该是整型不出现小数的吗??可能我问得比较乱,以下附上代码和题目,求高手指点!!!
  double a, b, c,C,s,S;
  Console.WriteLine("请输入三角形的边a:");
  a = Convert.ToDouble(Console.ReadLine());
  Console.WriteLine("请输入三角形的边b:");
  b = Convert.ToDouble(Console.ReadLine());
  Console.WriteLine("请输入三角形的边c:");
  c = Convert.ToDouble(Console.ReadLine());

  if (a + b > c && a + c > b && b + c > a&&a>0&&b>0&&c>0)
  {
  Console.WriteLine("三角形三边分别为:a={0},b={1},c={2}", a, b, c);
  s = (a + b + c) / 2;
  S = Math.Sqrt(s * (s - a) * (s - b) * (s - c));
  C= a + b + c;
  Console.WriteLine("三角形的面积S={0}", S);
  Console.WriteLine("三角形的周长C={0}",C); 
  }
  else
  Console.WriteLine("无法构成三角形!");

------解决方案--------------------
CONSOLE.READLINE返回值是string类型,也就是文本,这个文本等于你在键盘上敲入的一行字符,以回车键结束,

你需要把输入的字符串转化为double,才能计算,比如你输入2.3,那么CONSOLE.READLINE返回值是字符串"2.3",需要Convert.ToDouble把"2.3"转换为浮点数2.3,
------解决方案--------------------
通过键盘输入的都是string型,用double.TryParse()方法转换比较好。