看看你的代码
strtofloat() //上下语句

解决方案 »

  1.   

    取出雨情快讯.htm存入a中:
      assignfile(thetxtfile,'雨情快讯.htm');
      reset(thetxtfile);
      while not eof(thetxtfile) do
      begin
        readln(thetxtfile,b);
        a:=a+b;
      end;找到要得字符
      yuliang:=copy(a,1,ttt-1);
      yuliang_1:=strtofloat(yuliang);
      

  2.   

    我也遇到过同样的问题,那可能是个回车换行!trim确实去不掉,可么是个格式问题
      

  3.   

    取出雨情快讯.htm存入a中:
      assignfile(thetxtfile,'雨情快讯.htm');
      reset(thetxtfile);
      while not eof(thetxtfile) do
      begin
        readln(thetxtfile,b);
        a:=a+b;
      end;找到要得字符
      ttt:=pos('<',e);
      yuliang:=copy(a,1,ttt-1);
      yuliang_1:=strtofloat(yuliang);
      

  4.   

    你的'45.6  '里面含有字符,当然出现错误啦,用trim函数去玩玩,试试看!
      

  5.   

    你这是回车不是空格我给你写个函数来去掉吧
    function DeleteLineBreaks(const S: string): string;
    var
        Source, SourceEnd: PChar;
    begin
        Source := Pointer(S);
        SourceEnd := Source + Length(S);
        while Source < SourceEnd do
        begin
            case Source^ of
                #10: Source^ := #32;
                #13: Source^ := #32;
            end;
            Inc(Source);
        end;
        Result := S;
    end;
    这样就能去掉回车了
      

  6.   


      ttt:=pos('<',e);
      yuliang:=copy(a,1,ttt-1);
      yuliang_1:=strtofloat(Trim(yuliang)); //建议使用StrToFloatDef()
      

  7.   

    最后那个空字符不是真正的空格,可能是半字符,你可以在pos里面长度少取一位就成了
      

  8.   

    建议你重新获得你的字符串
    var
      tmp: string;
      loop: Integer;
    begin
      tmp := '';
      for loop := 1 to length(yuliang) do
      begin
        if Pos(Copy(yuliang,loop,1),'0123456789.')>0 then
          tmp := tmp+Copy(yuliang,loop,1);
      end;
      yuliang_1:=strtofloat(tmp);
    end;
      

  9.   

    strtofloat(copy('*.htm,Pos('45.6','*.htm'),4))
    这样不可以吗?
      

  10.   

    macro_love(如风):你的函数还是去不掉后面的东东zswang(伴水)(* 嘻 *) :StrToFloatDef()通不过,好象没有这个函数
      

  11.   

    这个函数是Delphi6才有的
    你可以参考qybao(阿宝)的代码
    var
      T: string;
      I: Integer;
    begin
    //....
      T := '';
      for I := 1 to Length(yuliang) do
        if yuliang[I] in ['0'..'9', '.'] then
          T := T + yuliang[I];
      yuliang_1 := StrToFloat(T);
    //....
    end;
      

  12.   

    ssgang(大刚) :实在抱歉,30分给错了,给到ssgang(大刚) 上了,我重发个帖子,你上来答一条,我给你50分!!
      

  13.   

    qybao(阿宝) :实在抱歉,30分给错了,给到ssgang(大刚) 上了,我重发个帖子,你上来答一条,我给你50分!!qybao(阿宝) :实在抱歉,30分给错了,给到ssgang(大刚) 上了,我重发个帖子,你上来答一条,我给你50分!!
    qybao(阿宝) :实在抱歉,30分给错了,给到ssgang(大刚) 上了,我重发个帖子,你上来答一条,我给你50分!!
    qybao(阿宝) :实在抱歉,30分给错了,给到ssgang(大刚) 上了,我重发个帖子,你上来答一条,我给你50分!!
    qybao(阿宝) :实在抱歉,30分给错了,给到ssgang(大刚) 上了,我重发个帖子,你上来答一条,我给你50分!!