Built-in function for extracting mantissa and exponent of a numeric
Hello,
Sorry I forgot to Cc the list.
And I had forgotten the case where x == 0.
extract <- function(x){
e <- ifelse(x == 0, 0, floor(log10(x)))
m <- x/10^e
list(mantissa = m, exponent = e)
}
extract(c(0, 1.234e12, 12345678901234, 123e123))
Hope this helps,
Rui Barradas
Em 23-06-2013 10:54, S?ren H?jsgaard escreveu:
Dear all, Given a number x<-1.234e12 is there a built-in function for extracting 1.234 and 12 ? The following "hack" seems clumpsy:
a<-strsplit(format(x, scientific=T),"e")[[1]] a
[1] "1.234" "+12"
as.numeric(a[1])
[1] 1.234
as.integer(a[2])
[1] 12 Regards S?ren
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.