拜托,不要动不动就说发现了bug。
没有原点,是因为你定义的x、y、i都只是赋值但是没有使用,编译器会有提示"[Hint] Unit1.pas(33): Value assigned to 'i' never used"不知道你看到没有?你在“i:=x+y;”后面加上:
        ShowMessage(IntToStr(Round(i)));
运行看看,不是显示出“99”了吗!

解决方案 »

  1.   

    Delphi编译器是非常优秀的,有问题先看看是不是自己搞错了吧,别动辄“bug”。OK?
      

  2.   

    但是你这样子必须把i转化成integer型。我在程序中的要求是不允许把它转化integer型。我还是要继续使用double型。在我的程序中,这里的i只是起一个过渡赋值的作用。
        你这种解决法,似乎还是对integer的操作,而不是对double型的操作。
      

  3.   

    谢谢lxpbuaa啦!的确搞定了...在一次感谢,使我自己没在意那个提示信息。