首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

VS2008编程中遇到有关问题

2012-04-02 
VS2008编程中遇到问题!我刚学这个东西,今天编了个程序,老是出现如下图结果,求大虾指教。程序如下:namespace

VS2008编程中遇到问题!
我刚学这个东西,今天编了个程序,老是出现如下图结果,求大虾指教。

程序如下:
namespace 循环产生抛物线
{
  class Program
  {
  static void Main(string[] args)
  {
  double x;
  for (x = -2; x < 2; x += 0.1)
  {
  Console.Write("{0}", x);
  Console.Write("\n");
  }
  Console.ReadKey();
  }
  }
}

但是结果如下:
-2
-1.9
-1.8
-1.7
-1.6
-1.5
-1.4
-1.3
-1.2
-1.1
-0.999999999999999
-0.899999999999999
……中间让我省略了
……
-0.0999999999999994
6.38378239159465E-16
0.100000000000001……
……
1
1.1
1.2
……




我想问为什么会出现这种情况,中间为什么出现无限小数????

[解决办法]
因为double也会有误差。

如果要界面好看,可以格式化输出(其中f是浮点,1是一位小数):
Console.Write("{0:f1}", x);
[解决办法]
double 类型

热点排行