簡體   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