procedure Tacc.Button1Click(Sender: TObject);
        var
     k: double;
     nn: integer;
     i: integer;
     m: double;
     ss: integer;
     begin
       ADOTable5.First;
       for i:=1 to  ADOTable5.RecordCount
      do begin
       //k:=strTofloat(ADOTable5.FieldByname('l_price').asstring);     
      //m:=m+k;
            begin
            nn:=strToint(ADOTable5.FieldByname('sale').asstring);
        
         ss:=ss+nn;
         end;        ADOTable5.Next;
        end;
      edit1.text:=floatTostr(ss); 
    //edit2.text:=floatTostr(m);
      ADOTable5.First;
      end;end.
为什么上面的代码将k、m定义的double改为integer可以正常计算,换为double,mm的计算结果就是另一个值?
同样将以上代码的注释部分去掉注释计算结果也是另一个值,加上注释后,ss的计算结果正常,这是咋怎么回事啊???