我使用 Delphi 5 做一些偶尔的编程工作,包括为我的电子商务应用程序编写的良好的业务应用程序。多年来,我已经使用它完成了一些图形、数据库和其他一般性的工作。
今天,我正在制作一个模拟器,其中我想根据一些物理原理移动像素,但是在搜索了整个上午和昨天的一部分后,我仍然不知道如何使用平方根和平方函数而不会得到奇怪的答案。通过检查一个简单的计算,将其分配给一个扩展变量类型“vector_length”,当计算时(数字固定,但使用任何浮点类型表示这些数字时都会得到相同的结果):
今天,我正在制作一个模拟器,其中我想根据一些物理原理移动像素,但是在搜索了整个上午和昨天的一部分后,我仍然不知道如何使用平方根和平方函数而不会得到奇怪的答案。通过检查一个简单的计算,将其分配给一个扩展变量类型“vector_length”,当计算时(数字固定,但使用任何浮点类型表示这些数字时都会得到相同的结果):
vector_length := Sqrt(Sqr(3.4) + Sqr(3))
根据计算,理论上给了我大约4.53。使用计算器来说是合理的。
Delphi的调试器显示的内容如下:
2.9134839203548e-322
这显然是一个浮点数表示,毫无意义。
代码并没有按照预期工作,所以我只能认为数学计算有误或者我在期望函数给我合理结果方面做错了什么?
谢谢任何建议。