请大家帮忙:
  原来的程序,函数A把十进制参数a转换成十六进制数b。现在要求不改动函数A,要在A运行之后得到的数b为十进制数。在调用函数A之前应该怎么处理,把参数传给A,不改变函数A,要求得到的数是十进制的?

解决方案 »

  1.   

    如果是后者,我也只能猜你的意图,特别是b,到底长什么样子?字符串吗?是字符串的话,有没有加些东西,比如原来是十六进制11AA,输出后是“11AA”还是“11 AA”还是“11AAH”或者其它有加东西的。
    如果是原来的样子,那意思就相当于“一个十进制数m,找一个十进制数n,要求A(n)=m”(A是你的函数)这样?
      

  2.   

    这么奇葩的需求,下面就是 a 的函数的反函数
    function a(p:string):string;
    begin
        Result := Format('%x', [strtoint(p)]);end;function inva(p:string):string;
    begin
        Result := IntToStr( StrToInt('$'+p) );
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
        ShowMessage(a(inva('112233')));
    end;