"对于"循环增量不能正常工作。为什么? [英] "For" loops increment not working correctly. Why?

查看:181
本文介绍了"对于"循环增量不能正常工作。为什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于(float i = -1; i <= 1; i + = 0.1f)
{
Console.WriteLine(i);

  





这是结果

$ b

  -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以供参考: Wikipedia


for (float i = -1; i <= 1; i+=0.1f)   
{
    Console.WriteLine(i);   
}

This is results

-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

解决方案

Because a float is not an exact decimal number but a floating point number. Use decimal instead.

See wikipedia for reference: Wikipedia

这篇关于&QUOT;对于&QUOT;循环增量不能正常工作。为什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆