使这样的  字符串i="03084563"或者"9802456"
其中03和98代表年份;08和02是标志位
首先需要判断字符串前两位是03还是98,如果是03,则转换为2003;如果是98,则转换为1998;也就是如何取得字符串的前两位数和中间两位数以及后面4位数。也即使在delphi中如何操作字符串?

解决方案 »

  1.   

    copy(i, 1, 2);
    copy(i, 3, 2);
    copy(i, 5, Length(i));
    或者
    i[1]+i[2];
    i[3]+i[4];
    i[5]+i[6]+i[7]+i[8];
      

  2.   

    可以用copy函数  比如i="03084563"  i:=copy(i,1,2);这个就是从第一个字符开始拷贝2个字符  你可以用showmessge来看操作后的结果 不明白再说  至于你的返回值可以自己写函数
      

  3.   

    a,b:STRING:
    a:=copy(i,1,2);
    if a='03' then b:='2003';
    if a='98' then b:='1998';
      

  4.   

    var
      str:string;
    begin
      copy(str,1,2);
      cppy(str,Length(str)-3,Length(str));
      

  5.   

    if StrToint(copy(i, 1, 2))< 70 then
     Result := '20'+copy(i, 1, 2)
    else
     Result := '19'+copy(i, 1, 2)
     ;
    copy(i, 3, 2);
    copy(i, Length(i)-3, 4);
      

  6.   

    楼上的都说了,就用Copy(),它从你的字符串中截取你要的字符
    再进行判断,
      

  7.   

    楼上的都说了,就用Copy(),它从你的字符串中截取你要的字符
    再进行判断,
    copy(字符串,起始位置,长度);