Rev 468 | Rev 1122 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{formatC}\title{Flexible Formatting}\usage{formatC(x, digits = NULL, width = max(0, digits) + 1,format = NULL, flag = "", mode = NULL)format.char(x, width = NULL, flag = "-")}\alias{formatC}\alias{format.char}\arguments{\item{x}{an atomic numerical or character object, typically a vectorof real numbers.}\item{digits}{the desired number of digits after the decimalpoint. Default: 2 for integer, 4 for real numbers. If less than 0,the C default of 6 digits is used.}\item{width}{the total field width; \code{width < 0} means leftjustify the number in this field (equivalent to \code{flag ="-"}).It is possible that the result will be longer than this, but thatshould only happen in reasonable cases.}\item{format}{equal to \code{"d"} (for integers), \code{"f"},\code{"e"}, \code{"E"}, \code{"g"}, \code{"G"} (for reals), or\code{"s"} (for strings). \code{"f"} gives numbers in the usual``xxx.xxx'' format; \code{"e"} and \code{"E"} give ``n.dddenn'' or``n.dddEnn'' (scientific format); \code{"g"} and \code{"G"} put\code{x[i]} into scientific format only if it saves space to do so.}\item{flag}{format modifier as in Kernighan and Ritchie, 2nd ed.,page 243.\code{"0"} pads leading zeros; \code{"-"} does left adjustment,others are \code{"+"}, \code{" "}, and \code{"#"}.}\item{mode}{\code{"real"}, \code{"integer"} or \code{"character"}.Default: Automatic.}}\value{A character object of same size and attributes as \code{x}.Unlike \code{format}, each number is formatted individually. A forloop over each element of \code{x}, calling \code{sprintf(\dots)} isdone in the C function \code{str_signif}.\code{format.char(x)} and \code{formatC}, for character \code{x}, dosimple (left or right) padding with white space.}\author{Originally written by Bill Dunlap, later much improved by Martin Maechler,it was adapted for \R by Friedrich Leisch.}\seealso{\code{\link{format}}.}\examples{xx <- pi * 10^(-5:4)options(digits = 4) # only for formatcbind(format(xx), formatC(xx))cbind(formatC(xx, wid = 9, flag = "-"))cbind(formatC(xx, dig = 5, wid = 8, format = "f", flag = "0"))format.char(c("a", "Abc", "no way"), wid = -7) # <=> flag = "-"formatC(c("a", "Abc", "no way"), wid = -7) # <=> flag = "-"formatC(c((-1:1)/0,c(1,100)*pi), wid=8, dig=1)}\keyword{character}\keyword{print}