# format.info: format(.) Information

## Description

Information is returned on how `format(x, digits, nsmall)` would be formatted.

## Usage

 `1` ```format.info(x, digits = NULL, nsmall = 0) ```

## Arguments

 `x` an atomic vector; a potential argument of `format(x, ...)`. `digits` how many significant digits are to be used for numeric and complex `x`. The default, `NULL`, uses `getOption("digits")`. `nsmall` (see `format(..., nsmall)`).

## Value

An `integer` `vector` of length 1, 3 or 6, say `r`.

For logical, integer and character vectors a single element, the width which would be used by `format` if `width = NULL`.

For numeric vectors:

 `r` width (in characters) used by `format(x)` `r` number of digits after decimal point. `r` in `0:2`; if ≥`1`, exponential representation would be used, with exponent length of `r+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.

`format` (notably about `digits >= 16`), `formatC`.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16``` ```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) ```