有十六进制:00004E20怎么做能截取0 之后的值,即4e20以上只是个例子,开头 0的个数不固定,

解决方案 »

  1.   

    function fmt(const s:string):string;
    var i:integer;
    begin
      for i:=1 to length(s) do
        if s[i]<>'0' then break;
      result:=copy(s,i,length(s)-i+1);
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    showmessage(fmt('0000000000004E20'));
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
      var  str:string;
    begin
      str := '$'+'00004E20';
      ShowMessage(IntToStr(StrToIntdef(str,0)));
    end;
      

  3.   

    4楼 是来打击  mwy654321 的 
    哈哈
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
      var  str:string;
    begin
      str := '$'+'00004E20';
      ShowMessage(IntToHex(StrToIntdef(str,0),2));
    end;
      

  5.   


    他打击我什么?他的方法并不行,除非再用format格式后输出16进制。你试下就知道区别了。别瞎说。