gpt4 book ai didi

delphi - Delphi 的第一个版本是什么,它允许像 double(10) 这样的类型转换

转载 作者:行者123 更新时间:2023-12-03 15:49:29 24 4
gpt4 key购买 nike

如果使用整数常量调用,Delphi Tokyo 64 位将使用单精度计算一些数学函数,例如

{$apptype console}
uses
system.math;
var
d: double;
begin
d := 10;
writeln(log2(10):20:16, log2(10.0):20:16,log2(d):20:16);
end.

将打印3.3219280242919923 3.3219280948873626 3.3219280948873626

我在 Delphi Tokyo 64-bit flushes denormal numbers to zero? 中被告知,我应该使用类型转换 double(10) 来解决此功能。问题是,从我可用的 Delphi 版本来看,只有东京允许这种类型转换(IMO,尽管 documentation 似乎禁止它,说只允许将变体转换为真实类型)。

我知道 XE4 (VER250) 会给出错误 Error: E2089 Invalid typecast for double(10),但我没有关于 VER260 .. VER310 的信息。

So which is the first Delphi version which allows the typecast double(10)?

最佳答案

XE7 失败。XE8 失败。...在 Delphi 10.1 Berlin 中失败。

看来它是在 10.2 东京引入的。

<小时/>

在 (XE4) 的早期版本中,您可以使用 SysUtils 中的整数辅助方法。 :

10.ToDouble 
<小时/>

在此之前的版本中,使用 variant转换:

VarAsType(10,varDouble)
<小时/>

适用于所有版本的功能:

function DoubleVal( x : Double) : Double; inline;
begin
Result := x;
end;

关于delphi - Delphi 的第一个版本是什么,它允许像 double(10) 这样的类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51599578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com