旧代码中出现十次方编译错误

问题描述 投票:0回答:1

我在使用旧的 Delphi 程序时遇到问题(我可以阅读评论“最后编辑 21/09/1992”)

当我用最新的Delphi 11加载项目时,出现编译错误:

value := 5.E-3

E2003 错误:标识符未声明“E”第 xxx 行

我相信这意味着 5 * 10-3,即 0.005。

为了使这一行编译,我删除了点,现在我有了

value := 5E-3

不幸的是,使用这一行的测试无法正确执行,因为这是我所做的唯一修改,并且代码没有注释(除了上世纪的一些日期)。我想知道我的修复是否正确,删除了点。

记录的语言是否有语法修改(Delphi 7 到 Delphi 11)?

我有数百个这样的“5.E-3”,我想确定我的更正是否正确。

delphi delphi-7 delphi-11-alexandria
1个回答
0
投票

根据您的代码的年龄,它很可能源自 Turbo Pascal。

Turbo Pascal 不像现代 Delphi 那样支持浮点数,所以我猜测你的

value
变量的类型是
Real
。但这与 System.Real 不同。

相反,在 Turbo Pascal

real
类型中具有不同的数据结构,您可以在 Turbo Pascal Real 中阅读。

这意味着,即使您设法在代码中进行适当的更改,以便所有这些数字都用正确的科学记数法表示,Delphi 接受数字的实际值可能与 Turbo Pascal 中的值不同,因为Turbo Pascal 和现代 Delphi 版本如何处理

Real
类型。

© www.soinside.com 2019 - 2024. All rights reserved.