gpt4 book ai didi

Delphi检查double是否为整数

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

我需要测试 double 是否是整数。基本上,这是规则的示例:

  • 5.0 > 正确
  • 5.2 > 假

为了做到这一点,我会创建一个 if (result mod 1) = 0 then 并查看它是否返回 true 或 false。考虑 result 是一个 double 。顺便说一句,编译器给了我这个错误:

[dcc32 Error] Unit1.pas(121): E2015 Operator not applicable to this operand type

如何解决这个问题?请注意,我的数字采用这种格式 ##.######,因此浮点精度没有太多问题。

一般来说,我会使用 if (result % 1 == 0) {} 但在 Delphi 中这不起作用。

最佳答案

您可以使用Delphi系统单元中声明的函数frac。尝试使用以下代码:

if ( frac(result) = 0 ) then
ShowMessage('is zero')
else
ShowMessage('is NOT zero');
end;

检查documentation有关该功能的详细信息。你所做的事情是错误的,因为在 Delphi 中关键字 mod 只适用于整数。

<小时/>

注意。我已经用 45.1234 等数字对此进行了测试,并且代码是正确的。我发现你的 double 字很少,所以应该不会有问题。我不确定该函数有多准确,但在这种情况下您不必担心。

关于Delphi检查double是否为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41516464/

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