Delphi checks if Double is an integer

I need to test whether double is an integer. Basically this is an example of the rule:

> 5.0>true
> 5.2>false< /p>

In order to do this, I do an if (result mod 1) = 0 and see if it returns true or false. Consider the result is twofold. By the way, the compiler gives me this error:

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

How can I solve this problem? Please note that my number format is ##.##### so I don’t have much problem with floating point precision.

Generally speaking, I will use if (result %1 == 0) {}But this does not work in Delphi.

You can use the declaration in the System unit of Delphi The function frac. Try this code:

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

For more information about this feature, please check the documentation. What you are doing is wrong, because in In Delphi, the keyword mod only applies to integers.

Note. I tested this with numbers such as 45.1234, and the code is correct. I see that there are some numbers in your double numbers, so don’t There should be a problem. I’m not sure how accurate the function is, but in this case you don’t have to worry about it.

I need to test whether a double is an integer. Basically this is An example of the rule:

> 5.0>True
> 5.2>False

In order to do this, I do an if(result mod 1)=0 Then see if it returns true or false. Consider the result is twofold. By the way, the compiler gave me this error:

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

How can I solve this problem? Please note that my number format is ##.##### so I don’t have much problem with floating point precision.

Generally speaking, I will use if (result %1 == 0) {}But this does not work in Delphi.

You can use the function frac declared in the System unit of Delphi. Try this code:

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

For more information about the function, please check the documentation. What you are doing is wrong, because in Delphi, the keyword mod only applies to integers.
end;

/p>

Note. I tested this with numbers such as 45.1234 and the code is correct. I see that there are some numbers in your double numbers, so there should not be a problem. I am not sure how accurate the function is , But in this case you don’t have to worry.

WordPress database error: [Table 'yf99682.wp_s6mz6tyggq_comments' doesn't exist]
SELECT SQL_CALC_FOUND_ROWS wp_s6mz6tyggq_comments.comment_ID FROM wp_s6mz6tyggq_comments WHERE ( comment_approved = '1' ) AND comment_post_ID = 3165 ORDER BY wp_s6mz6tyggq_comments.comment_date_gmt ASC, wp_s6mz6tyggq_comments.comment_ID ASC

Leave a Comment

Your email address will not be published.