请问delphi中如何获得一个复数的实部或虚部?
假如一个m:Variant;
   m:=VarCmplx.VarComplexCreate(5,2);
我如何能获取它的实部或者虚部。谢谢.

解决方案 »

  1.   


    var
      m:Variant;
      S:string;
    begin
      m:=VarCmplx.VarComplexCreate(5,2);
      Showmessage(m);
      S := Copy(m, 1, Pos(' ', m)-1);
      Showmessage(S);  
    end;
    第一次见VarCmplx单元, 说错莫怪.Variant类型是变体, 几乎可以任意转换, 例如可以象上面那样视为字符串.
      

  2.   


    VAR
      m: variant;
      x,y: double;
    begin
      m:=VarComplexCreate(-0.5,-2);
      x:=(m+ VarComplexConjugate(m))/2;//实部
      y:=-VarComplexTimesPosI(m-x);    //虚部
      showmessage(floattostr(x)+' '+floattostr(y));
    end;