As in Perl to round a number to the nearest integer

Task. In Perl, the program has a variable which is a number. You need to round it to the nearest whole in the smaller side. I.e. in the case of non-negative numbers this means you just need to cut off the entire fractional part.

Here are some examples of values. All these numbers must be converted to number 10:

• 10
• 10.001
• 10.4
• 10.5
• 10.99

The solution is to use the function floor

The best way to solve this problem is to use the function floor from the library POSIX.

Library POSIX comes with Perl, so if you have Perl, this library is available to additionally install nothing.

Here is a sample program:

▶ Run
#!/usr/bin/perl

use POSIX;

my \$number = 10.3;

print floor(\$number);

The program will display the number 10.

• use POSIX; — connected the library POSIX. As soon as we connected this library, we immediately became available a few functions that are defined in this library.
• my \$number = 10.3; — create a variable \$number and put the number 10.3.
• print floor(\$number); — Used function floor and display the result of its work.

Function floor (in English this word is translated as "sex") is fairly standard. In many programming languages there is a function with the same name and which works exactly the same.

In addition to the functions floor there is still a function of ceil ("ceiling"), which rounds a number to the nearest integer in a big way.

In case of negative numbers

Function floor for negative numbers works the same way as for positive numbers — rounds the number to the nearest integer.

All of these numbers when using floor will become the number -6:

• -5.1
• -5.5
• -5.9
• -6