例如ED35E538怎么转化为纯数字字符串?

解决方案 »

  1.   


        for i:=1 to length(s) do
        if s[i] in ['0'..'9'] then t:=t+s[i];
      

  2.   

    呵呵,显然,楼主是想将16进制转为10进制可以参阅下面的帖子
    http://community.csdn.net/Expert/topic/4566/4566488.xml?temp=8.994693E-02
      

  3.   

    遍历字符串,然后一个个判断:
    for i:= 0 to length(str) - 1 do
    begin
      tmpstr := copy(str,i,1);
      if tmpstr in [0..9] then
        //数字处理
      else if tmpstr in [A..Z,a..z] then
        //字母处理;
    end;
      

  4.   

    procedure DelChar(var s : string);
    var
      i,k: integer;
    begin
      k := 0;
      for i := 1 to Length(s) do
        if (s[i-k] < '0') or (s[i-k] > '9') then
          begin
          Delete(s,i-k,1);
          k := k + 1;
          end;
    end;
      

  5.   

    procedure DelChar(var s : string);
    var
      i,k: integer;
    begin
      k := 0;
      for i := 1 to Length(s) do
        if (s[i-k] < '0') or (s[i-k] > '9') then
          begin
          Delete(s,i-k,1);
          k := k + 1;
          end;
      //setlength(s, i+k);如果长度不想改变加上这句
    end;
      

  6.   

    简单,一个个都翻译成ascii码,
    到时想倒回去也可以.