繁体   English   中英

使用R可以显示小数点后多少个数字?

[英]How many numbers after the decimal point can you show using R?

我想知道你能打印多久这个:

http://www.iheartchaos.com/post/16393143676/fun-with-math-dividing-one-by-998001-yields-a

在R.

例如:1/998001

你可以使用mpc包,

# 3000 is the precision in bits
> mpc(1, 3000) / mpc(998001, 3000)
[1] "(1.0020030040050060070080 ...
...

这是一个不需要任何花哨的软件包的解决方案,只需要基础R和小学算术的闪回:

longdiv <- function(num,den, limit=3000, spaces=TRUE) {
    i <- 0
    if( num < den ) {
        cat('0.')
        num <- num*10
    } else {
        cat( num %/% den, '.', sep='')
        num <- (num %% den) * 10
    }
    while( i < limit ) {
        i <- i + 1
        if( num < den ){
            cat('0')
            num <- num*10
        } else {
            cat( num %/% den )
            num <- (num %% den) * 10
        }
        if(spaces){
            if( (i %% 30) == 0 ) {
                cat('\n')
            } else if( (i %% 3) == 0 ) {
                cat(' ')
            }
        }
        flush.console()
    }
    cat('\n')
}   


longdiv(1,998001)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM