“For”循环增量无法正常工作。为什么?for(floati=-1;i<=1;i+=0.1f){Console.WriteLine(i);}Hereistheresult-1-0.9-0.8-0.6999999-0.5999999-0.4999999-0.3999999-0.2999999-0.1999999-0.099999937.450581E-080.10000010.20000010.30000010.40000010.50000010.60000010.70000010.80000010.9000002Becausefloatisnotanexactdecimalnumberbutafloatingpoint数字。请改用小数。参考维基百科:维基百科Float和double无法准确显示小数值。查看维基百科如何实现它们。您可能想使用Decimal。您需要阅读以下内容:每位计算机科学家都需要了解的有关使用整数进行索引的浮点数的知识。如果你需要循环中的浮点值,在那儿做计算:for(inti=-10;ifloat表示一个32位浮点数。它不能准确地表示这些值。这里还有一个必读,专门针对.NET的浮点数:http://csharpindepth.com/Articles/General/FloatingPoint.aspx这是因为您使用的是浮点数。计算浮点数并不完全正确,因为您的计算机在内部使用二进制数而不是十进制数。关于这个问题的好消息在这里:http://floating-point-gui.de/以上是C#学习教程:"For"loopincrementnotworking。为什么?分享完整内容,如果对大家有帮助很有用,需要了解更多C#学习教程,希望大家多多关注---本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除,如有转载请注明出处:
