none
用C# 实现 厘米换算成英寸,并且以分数的形式显示时,循环无法执行(VB中的写法可以执行) RRS feed

  • 问题

  •      

        int[] Ar =new int[]{0,1,2,3,5,7,11,13,17,19};
          int[] Br =new int[]{2,4,8};
          double dec;
          double CPLKC_F=10.795; 
          CPLKC_F=CPLKC_F/2.54;
          A = Truncate(CPLKC_F);
          dec = CPLKC_F - A;
          X=1;


         for(int j = 0; j<3; j++)
         { 
            for (int i = 0; i <= 7; i++)
            {
              if(Ar[i]>Br[j])
              {
                break;
              }

              if( Abs(dec-Ar[i]/Br[j]) < X )   
              {

                X = Abs(dec-Ar[i]/Br[j]) ;  这样的赋值写法无法执行循环
                C = Br[j] ;
                B = Ar[i];
              }

              }
           } 

    请给予协助

                                              
    2014年4月29日 2:24

答案

  • static void Main(string[] args) { int C, B; int[] Ar = new int[] { 0, 1, 2, 3, 5, 7, 11, 13, 17, 19 }; int[] Br = new int[] { 2, 4, 8 }; double dec; double CPLKC_F = 10.795; CPLKC_F = CPLKC_F / 2.54; double A = Math.Truncate(CPLKC_F); dec = CPLKC_F - A; double X = 1; for (int j = 0; j < 3; j++) { for (int i = 0; i <= 7; i++) { if (Ar[i] > Br[j]) { break; } if (Math.Abs(dec - Ar[i] / Br[j]) < X) { X = Math.Abs(dec - Ar[i] / Br[j]); //这样的赋值写法无法执行循环 C = Br[j]; B = Ar[i]; } } } }


    循环能执行啊

    2014年4月29日 2:53
  • 已经验证了,问题出在报表平台上.代码是OK的.非常感谢!
    2014年4月29日 3:38

全部回复

  • static void Main(string[] args) { int C, B; int[] Ar = new int[] { 0, 1, 2, 3, 5, 7, 11, 13, 17, 19 }; int[] Br = new int[] { 2, 4, 8 }; double dec; double CPLKC_F = 10.795; CPLKC_F = CPLKC_F / 2.54; double A = Math.Truncate(CPLKC_F); dec = CPLKC_F - A; double X = 1; for (int j = 0; j < 3; j++) { for (int i = 0; i <= 7; i++) { if (Ar[i] > Br[j]) { break; } if (Math.Abs(dec - Ar[i] / Br[j]) < X) { X = Math.Abs(dec - Ar[i] / Br[j]); //这样的赋值写法无法执行循环 C = Br[j]; B = Ar[i]; } } } }


    循环能执行啊

    2014年4月29日 2:53
  • 已经验证了,问题出在报表平台上.代码是OK的.非常感谢!
    2014年4月29日 3:38