Rounding of Numbers

Usage

ceiling(x)
floor(x)
round(x, digits = 0)
signif(x, digits = 6)
trunc(x)
zapsmall(x, digits= .Options$digits)

Description

ceiling takes a single numeric argument x and returns a numeric vector containing the smallest integers not less than the corresponding elements of x.

floor takes a single numeric argument x and returns a numeric vector containing the largest integers not greater than the corresponding elements of x.

round rounds the values in its first argument to the specified number of decimal places (default 0). Note that for rounding off a 5, the IEEE standard is used, ``go to the even digit''. Therefore round(0.5) is 0 and round(-1.5) is -2.

signif rounds the values in its first argument to the specified number of significant digits.

trunc takes a single numeric argument x and returns a numeric vector containing the integers by truncating the values in x toward 0.

zapsmall determines a digits argument dr for calling round(x, digits = dr) such that values ``close to zero'' values are ``zapped'', i.e., treated as 0.

See Also

as.integer.

Examples

round(.5 + -2:4) # IEEE rounding: -2  0  0  2  2  4  4
( x1 <- seq(-2, 4, by = .5) )
round(x1)#-- IEEE rounding !
x1[trunc(x1) != floor(x1)]
x1[round(x1) != floor(x1 + .5)]
all(trunc(x1) == as.integer(x1))# TRUE
non.int <- ceiling(x1) != floor(x1)
all(non.int == (ceiling(x1) != trunc(x1) | trunc(x1) != floor(x1)))
# TRUE
all((signif(x1, 1) != round(x1,1)) == (non.int & abs(x1)>1)) # TRUE

x2 <- pi * 100^(-1:3)
round(x2, 3)
signif(x2, 3)

print   (x2 / 1000, digits=4)
zapsmall(x2 / 1000, digits=4)


[Package Contents]