blob: eebb5848f722e6a4c879ab68ef0077f7da4b6d11 [file] [log] [blame]
% File src/library/base/man/format.info.Rd
% Part of the R package, https://www.R-project.org
% Copyright 1995-2011 R Core Team
% Distributed under GPL 2 or later
\name{format.info}
\alias{format.info}
\title{format(.) Information}
\description{
Information is returned on how \code{\link{format}(x, digits, nsmall)}
would be formatted.
}
\usage{
format.info(x, digits = NULL, nsmall = 0)
}
\arguments{
\item{x}{an atomic vector; a potential argument of
\code{\link{format}(x, \dots)}.}
\item{digits}{how many significant digits are to be used for
numeric and complex \code{x}. The default, \code{NULL}, uses
\code{\link{getOption}("digits")}.}
\item{nsmall}{ (see \code{\link{format}(\dots, nsmall)}).}
}
\value{
An \code{\link{integer}} \code{\link{vector}} of length 1, 3 or 6, say
\code{r}.
For logical, integer and character vectors a single element,
the width which would be used by \code{format} if \code{width = NULL}.
For numeric vectors:
\item{r[1]}{width (in characters) used by \code{format(x)}}
\item{r[2]}{number of digits after decimal point.}
\item{r[3]}{in \code{0:2}; if \eqn{\ge}\code{1}, \emph{exponential}
representation would be used, with exponent length of \code{r[3]+1}.}
For a complex vector the first three elements refer to the real parts,
and there are three further elements corresponding to the imaginary
parts.
}
\seealso{
\code{\link{format}} (notably about \code{digits >= 16}),
\code{\link{formatC}}.
}
\examples{
dd <- options("digits") ; options(digits = 7) #-- for the following
format.info(123) # 3 0 0
format.info(pi) # 8 6 0
format.info(1e8) # 5 0 1 - exponential "1e+08"
format.info(1e222) # 6 0 2 - exponential "1e+222"
x <- pi*10^c(-10,-2,0:2,8,20)
names(x) <- formatC(x, width = 1, digits = 3, format = "g")
cbind(sapply(x, format))
t(sapply(x, format.info))
## using at least 8 digits right of "."
t(sapply(x, format.info, nsmall = 8))
# Reset old options:
options(dd)
}
\keyword{character}
\keyword{print}
\keyword{programming}