一个for循环如下:
for(float i=5.93;i<6.23;i++){}
我想让i每次增加0.01怎么做啊?如果控制它的增量大小

解决方案 »

  1.   

    for (float i = 5.93f; i < 6.23; i+=0.01)
            {        }
      

  2.   

    循环变量是不能用浮点数的,因为浮点数是不能精确表示,1.不能达到你的循环要求2.可能导致死循环;
    循环变量应该用int 或者long
    for(int i=0;i<30;i++){}
      

  3.   

    不能用浮点型做为FOR循环,没办法精确表示,就象1/3不能精确表示一样,所以在比较的时候就会有误差.循环会有一种间歇性错误.
      

  4.   

    浮点运算是有精度损失的,累积效果更明显。如果你一定要得到一个间隔为 0.01 的等差数列,考虑下面两个措施:1. 用 double 代替 float,能稍微好一点;2. 每循环一次或几次,对循环变量进行一次“规整”,比如你这个例子,在千分位上做四舍五入就可以了。
      

  5.   

    for(float i=593;i<623;i++){
        t = i/100;
    }这样可以吗,t是你要的
      

  6.   

    for(float i=593;i<623;i++){
        t = i/100;
    }这样可以吗,t是你要的呵呵,这个办法不错~