What's the difference between Trunc and Int?

Hints, tips and tricks for newbies

Moderators: Dorian (MJT support), JRL

Post Reply
Humanetico
Newbie
Posts: 4
Joined: Tue Aug 16, 2011 6:03 am

What's the difference between Trunc and Int?

Post by Humanetico » Tue Sep 20, 2011 10:46 pm

For a widely range of values tested by me in Macroscheduler (positive and negative values), Trunc and Int functions returns a same integer value. If possible, I wish a example where Trunc and Int evaluates in a different integer value.

In addition, never occured in my tests a round operation in both functions, only a truncate operation. Is this behavior expected? What's the meaning of the words " ... rounded toward zero." in Macroscheduler's help for this two functions?

Thank you.

User avatar
JRL
Automation Wizard
Posts: 3497
Joined: Mon Jan 10, 2005 6:22 pm
Location: Iowa

Post by JRL » Wed Sep 21, 2011 2:59 am

Does this info help? I suspect there might be a difference between a floating point value and an integer value in Delphi but not in Macro Scheduler. Macro Scheduler is written in Delphi.

Humanetico
Newbie
Posts: 4
Joined: Tue Aug 16, 2011 6:03 am

Post by Humanetico » Wed Sep 21, 2011 1:26 pm

Thank you, JRL. Your Delphi Basics link was very useful. In this link I found too a good explanation about Round function:

===
The Round function rounds a floating point Number to an Integer value.

The rounding uses Bankers rules, where an exact half value causes a rounding to an even number:

12.4 rounds to 12
12.5 rounds to 12 // Round down to even
12.6 rounds to 13

13.4 rounds to 13
13.5 rounds to 14 // Round up to even
13.6 rounds to 14

===

I made a test and Macroscheduler use Bankers rules too in your Round function, although in Macroscheduler help is said: " ... If X is exactly halfway between two whole numbers, the result is the number with the greatest absolute magnitude.".

Thanks.

Post Reply
Sign up to our newsletter for free automation tips, tricks & discounts