var
  i,SumLen,Part1,Part2,tmp,sum:longint;begin
  Sum:=spinedit1.value+ spinedit2.value ;//两个spinedit的值相加
  SumLen:=Length(inttostr(Sum));//获取相加值的长度
  tmp:=1;
  for i:=1 to (SumLen div 2) do       //循环,顶边界:长度除以2所得整数商
   tmp:=tmp*10;
  Part1:=Sum div tmp;//长度除以tmp所得整数商
  Part2:=Sum Mod tmp;//长度除以tmp所得余数
  spinedit3.value :=Part1+Part2;//商和余数和,并赋予spinedit3
end;
------------------------------------------------------------------
我今天怎么啦!

解决方案 »

  1.   

    var
      i,SumLen,Part1,Part2,tmp,sum:longint;begin
      Sum:=spinedit1.value+ spinedit2.value ;
      //计算2个spinedit内值的和
      SumLen:=Length(inttostr(Sum));
      //看看和Sum是多少位的值 如10是2位, 100是3位,1000是4位
      tmp:=1;
      for i:=1 to (SumLen div 2) do
       tmp:=tmp*10;
      //以sum是1000为例子,SumLen = 2,则循环执行2次,tmp = 100
      //Part1为1~99之间的以个数字
      //Part2为余数部分
      Part1:=Sum div tmp;//除 100,取整数部分
      Part2:=Sum Mod tmp;//除100,取余数部分
      spinedit3.value :=Part1+Part2;
    end;代码很简单,但这样计算有什么意义我就不懂了
      

  2.   

    renzhm说得对,我想是不是要计算一个什么值。
      

  3.   

    关键的2句:是:
    1。循环:为什么边界用:SumLen div 2
    2。tmp:=tmp*10;什么意思。
    3。