46 Votes

Delphi/Lazarus: Round Decimal Numbers up, down and normally

Tip by Delphian | Last update on 2021-06-28 | Created on 2013-06-27

In this tip, I would like to show you how you can round decimal numbers such as extended, float or real numbers using Delphi or Lazarus.

You have the possibility to round numbers up, down or according to Bankers' Rules.

Overview: Lazarus as well as Delphi are providing the following functions you can use for rounding:

• Round: normal, convergent rounding (Banker's Rule)
• Trunc: crops decimal places (=rounding down)
• Ceil: rounding up (contained in Math)
• Floor: rounding down (contained in Math)
• Int: makes an integer value from a decimal number (=rounding down)
• Frac: crops all before the decimal places/replaces the integer part of the number with 0

Example: In this example, I show you which results you can expect when using this functions.

```Call         Result       Call         Result
round(7.2)   7            round(7.8)   8
trunc(7.2)   7            trunc(7.8)   7
ceil(7.2)    8            ceil(7.8)    8
floor(7.2)   7            floor(7.8)   7
int(7.2)     7            int(7.8)     7
frac(7.2)    0.2          frac(7.8)    0.8```

Hint: For the functions Ceil() and Floor(), the unit "Math" has to be added to the uses-clause. Round(), Trunc(), Int() and Frac() are parts of the unit "System" which is usually already included in the uses section.

ReplyPositiveNegative

About the Author

The author has not added a profile short description yet.
Show Profile

Related Topics

Delphi/Lazarus: Function to Round Number to any Position after or before Decimal Point

Tutorial | 0 Comments

Delphi/Lazarus: 3 Ways to round a Number to X Decimal Places

Tutorial | 7 Comments

PHP: Rounding Numbers

Tutorial | 0 Comments

Tip | 0 Comments

Lazarus: Input of binary, hexadecimal and integer numbers

Article | 0 Comments

Delphi/Lazarus: Round Number to the next 10, 100 or 1000

Question | 1 Answer

Lazarus: Load File as Byte Array and save Byte Array as File

Tutorial | 0 Comments

Important Note

Please note: The contributions published on askingbox.com are contributions of users and should not substitute professional advice. They are not verified by independents and do not necessarily reflect the opinion of askingbox.com. Learn more.

Participate

Ask your own question or write your own article on askingbox.com. That’s how it’s done.