The R language is capable of performing from easy to advanced numerical calculations. Although R can compute any computation up to 16 digits accurately, a user may not always want to use (or get) that too many digits in his final results or computations. In such cases, one can use a couple of functions to round off numbers in R Language. To round off a number to two or more digits after the decimal point, one can use the `round()`

function as follows:

### Round off Numbers in R Language

round(123.456,digits = 2) ## 123.46

One can also use the `round()`

function to round off numbers to multiples of 10, 100, and so on. For that purpose, one just needs to add a negative number as the digits argument: For example

round(-123.456,digits = -2) ## -100

### Significant Digits in R Language

If someone needs to specify the number of ** significant digits** to be retained, regardless of the size of the number, you use the

`signif()`

function instead:signif(-123.456,digits = 4) ## -123.5 signif(-123.456, digits=3) ## -123 signif(-123.456, digits=2) ## -120

Both `round()`

and `signif()`

round off the numbers to the nearest possible number. So, if the first digit that is dropped is smaller than 5, the number is rounded down. If the number is bigger than 5, the number is rounded up. On the other hand, if the first digit that is dropped is exactly 5, R Language uses a rule that is common in programming languages: Always round to the nearest even number. For example, `round(1.5)`

and `round(2.5)`

both return 2, Similarly, for example, `round(-4.5)`

returns -4.

### Rounding off Numbers floor(), ceiling(), and trunc() Functions

Contrary to `round()`

, three other functions always round off the numbers in the same direction:

`floor(x)`

rounds to the nearest integer that is smaller than $x$. So, `floor(123.45)`

becomes 123 and `floor(-123.45)`

becomes –124.

`ceiling(x)`

rounds to the nearest integer that’s larger than $x$. This means `ceiling(123.45)`

becomes 124 and `ceiling(-123.45)`

becomes –123.

`trunc(x)`

rounds to the nearest integer in the direction of 0. So, `trunc(123.65)`

becomes 123 and `trunc(-123.65)`

becomes –123.