Delphi检查double是否为整数
发布时间:2020-12-15 09:07:32 所属栏目:大数据 来源:网络整理
导读:我需要测试double是否为整数.基本上这是规则的一个例子: 5.0真正 5.2假 为了做到这一点,我做一个if(结果mod 1)= 0然后看看它是否返回true或false.考虑结果是双重的.顺便说一句,编译器给我这个错误: [dcc32 Error] Unit1.pas(121): E2015 Operator not appl
我需要测试double是否为整数.基本上这是规则的一个例子:
> 5.0>真正 为了做到这一点,我做一个if(结果mod 1)= 0然后看看它是否返回true或false.考虑结果是双重的.顺便说一句,编译器给我这个错误:
我怎么解决这个问题?请注意,我的数字格式为##.#####所以我对浮点精度没有太多问题. 一般来说,我会使用if(结果%1 == 0){}但在Delphi中这不起作用. 解决方法
您可以使用Delphi的System单元中声明的函数frac.试试这段代码:
if ( frac(result) = 0 ) then ShowMessage('is zero') else ShowMessage('is NOT zero'); end; 有关该功能的详细信息,请查看documentation.你在做什么是错的,因为在Delphi中,关键字mod仅适用于整数. 注意.我用45.1234等数字对此进行了测试,代码是正确的.我看到你的双数字中有一些数字,所以不应该有问题.我不确定该功能有多准确,但在这种情况下你不必担心. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |