for (float i = -1; i <= 1; i+=0.1f) { Console.WriteLine(i); }
这是结果
-1 -0.9 -0.8 -0.6999999 -0.5999999 -0.4999999 -0.3999999 -0.2999999 -0.1999999 -0.09999993 7.450581E-08 0.1000001 0.2000001 0.3000001 0.4000001 0.5000001 0.6000001 0.7000001 0.8000001 0.9000002
解决方法
因为float不是精确的十进制数而是浮点数.请改用小数.
请参阅维基百科以供参考:Wikipedia