var 
tt :boolean; 
qj_wucha1,bijiaogs1,bijiaogs2 :string; 
aa1,aa2 :double; 
bijiaogs1:='2.00 3.20 3.20'; 
bijiaogs1:='1.90 3,25 3.40'; 
qj_wucha1:='0.10'; 
aa1:=StrToFloat(LeftStr(bijiaogs1,4))-StrToFloat(LeftStr(bijiaogs2,4)); 
aa2:=StrToFloat(qj_wucha1); 
...调试时结果也是aa1=0;aa2=0...好象StrToFloat没法转换一样,..郁闷..StrToFloat用法有问题? 
....请教高手们,怎么才能算出aa1=0.10,aa2=0.10;

解决方案 »

  1.   

    好像不应当有问题,找个控件显示一下,或者showmessage一下?难不成被优化掉了?
      

  2.   

    哈哈,后边还有代码没有
    如果没有你加上如下代码再调试:
    if aa1>aa2 then  // 设置断点 嘿嘿
       aa1 = aa2 +1;
      

  3.   

    找个控件显示一下,或者showmessage一下..?不知道怎么弄了,,我是初学的,我只是想将'2.00'与'1.90',换成数字比较,,可就是转换不过来了,,郁闷...
      

  4.   

    设置断点 查了的,aa1,aa2都是0..找不出问题在那里...
      

  5.   


    var
      tt :boolean;
      qj_wucha1,bijiaogs1,bijiaogs2,a,b :string;
      aa1,aa2,a3 :Double;
    begin
      bijiaogs1:='2.00 3.20 3.20';
      bijiaogs2:='1.90 3,25 3.40';
      qj_wucha1:='0.10';
      a:= LeftStr(bijiaogs1,4);
      b:= LeftStr(bijiaogs2,4);
      aa1:=StrToFloat(a);
      aa2:=StrToFloat(b);
      a3:=aa1-aa2;  aa2:=StrToFloat(qj_wucha1);
      // ShowMessage(FloatToStr(a3));
    end;加showMessage和不加变量的值不一致,不解
      

  6.   

    代码运行是没出错的...结果没出来...我是在delhi里运行的...
      

  7.   

    楼上的朋友,你的aa1:=StrToFloat(a); aa2:=StrToFloat(b);在我这调试时也是aa1=0,aa2=0了 
      

  8.   

    我后面加了一个showmessage()跟踪数值是正确的,不知道什么原因
      

  9.   

    你是说你的aa1=0.1么?怎么我这理是0的...?调用strfloat要设置么?
      

  10.   

    我这里直接给  aa1:=2.00;aa1显示还是0...是怎么回事了,aa1 :double;
      

  11.   

    你就没遇到错误么
    bijiaogs1:='1.90 3,25 3.40';
    是不是
    bijiaogs2:='1.90 3,25 3.40';
    如果改过来没什么问题