Does this script do what you want?
cround <- function(x,digits=0) {
a <- ifelse(x>0,.5,-.5)
if (digits==0) {
floor(x+a)
} else {
m <- 10^digits
floor(x*m+a)/m
}
}
> cround(1.4535,1)
[1] 1.5
> cround(1.4535,2)
[1] 1.45
> cround(1.4535,3)
[1] 1.454
> cround(1.4535,4)
[1] 1.4535
- Hedderik.