var  str,str1:string
begin
  str=spinedit1.text+spinedit2;//中的数字加2中的数字相加
  str1:=copy(str,1,10);         //然后前10位
  len:=length(str)-10;          //求后十位前有多少字符
  delete(str,1,len);            //然后后10位
  spinedit3:=str1+str;      //前10位和后10位相加
end;
然后前10位和后10位相加再得到一个值(如果和大于10位就取后10位的值),然后把这个和的值给spinedit3,这句话什么意思

解决方案 »

  1.   

    var  str,str1:string
    begin
      str=spinedit1.text+spinedit2.text;//中的数字加2中的数字相加
      str1:=copy(str,1,10);         //然后前10位
      len:=length(str)-10;          //求后十位前有多少字符
      delete(str,1,len);            //然后后10位
      spinedit3:=str1+str;      //前10位和后10位相加
    end;
    然后前10位和后10位相加再得到一个值(如果和大于10位就取后10位的值),然后把这个和的值给spinedit3,这句话什么意思
      

  2.   

    var s1:String;
        i:Integer;
    s1:=IntToStr(SpinEdit1.Value+SpinEdit2.Value);
    if Length(s1)>20 then
      s1:=Copy(s1,Length(s1)-20,20);
    i:=StrToInt(Copy(s1,1,10))+StrToInt(Copy(s1,11,10));
    SpinEdit3.Value:=StrToInt(s1)+i;
      

  3.   

    我是新手!!不清楚spinedit是什么样的控件,我猜想楼主的意思是能显示20位10进制数的一个东东:),所以要考虑integer会溢出。我按照Tedit来写!
    var 
    str1,str2,str3,str4:string;
    i:integer;
    flag:boolean;str1:='';str2:='';str3:='';str4:='';
    flag:=false;if length(spinedit1.text)>10 then 
                str1:=copy(spinedit1.text,1,length(spinedit1.text)-10);
    str2:=copy(spinedit1.text,length(str1)+1,length(spinedit1.text));
    if length(spinedit2.text)>10 then 
                str3:=copy(spinedit2.text,1,length(spinedit2.text)-10);
    str4:=copy(spinedit2.text,length(str3)+1,length(spinedit2.text));
    if str1='' then str1:='0';
    if str2='' then str2:='0';
    if str3='' then str3:='0';
    if str4='' then str4:='0';//用4个字符串存放2个数的前十和后十位!
    i:=strtoint(str2)+strtoint(str4);
    str2:=inttostr(i);//str2没有用了,废物利用:)
    if length(str2)>10 then begin
                            flag:=true;
                            str2:=copy(str2,2,11);
                            end;
    i:=strtoint(str1)+strtoint(str3);
    if flag then i:=i+1;
    str1:=inttostr(i);
    if length(str1)>10 then str1:=copy(str1,2,11);
    str3:=inttostr(strtoint(str1)+strtoint(str2));
    if length(str3)>10 then str2:=copy(str3,2,11);
    spinedit3.text:=str3;这个程序我自己也觉得罗嗦一些,因该可以更好的!!
      

  4.   

    晕了,用int64写就不用考虑溢出了,就更简单了!!