Skip to content
Prev 302245 / 398503 Next

Formatting numbers for display

I think the following code provides output that Dennis wants as well
as gets rid of the white space David mentioned.

digitTruncation <- function(x)
{
  ifelse(x>10^7, gsub("(\\d)[.].*", "\\1", x), ifelse(x<1, formatC(x, digits=3,
                                                                   format='fg'),
                                                      formatC(x,
width=length(x),
                                                              format='fg',
                                                              digits=8,
                                                              flag='')))
}


VALUES    <- c(123456789, 12345678, 1234567.9, 123456.89, 12345.789,
1234.6789, 123.56789, 12.456789, 1.3456789, 0.123456789, 0.0123456789,
0.00123456789)

digitTruncation(VALUES)
 [1] "123456789" "12345678"  "1234567.9" "123456.89" "12345.789"
"1234.6789" "123.56789" "12.456789" "1.3456789" "0.123"     "0.0123"
 "0.00123"

tx <- c( 0.55555555, 55.555555555, 555555555555555.55555555, 55.55)

digitTruncation(tx)
[1] "0.556"           "55.555556"       "555555555555556" "55.55"


Hope this helps.

Tejas
On Fri, Aug 3, 2012 at 1:41 PM, Berend Hasselman <bhh at xs4all.nl> wrote: