【问题标题】:Long integers displayed with E in R [duplicate]R中用E显示的长整数[重复]
【发布时间】:2015-06-01 12:03:59
【问题描述】:

长整数值用 E 表示,

       7.448495e+10   6.757505e+10    7.44955e+14   

如何去掉 E 以便我看到整个数字??

【问题讨论】:

    标签: r


    【解决方案1】:

    正如@jebsel 所说,您可以使用带有数字参数的print 来显示您的数字。但是,如果您希望这些数字自动以这种方式显示,您可以更改选项中的 scipen 参数:

    x <- 744955224482948
    x
    #[1] 7.449552e+14
    options(scipen=30)
    x
    #[1] 744955224482948
    

    options(scipen=30) 表示科学记数法版本需要比“普通”版本短 30 个字符以上才能成为选择的显示方式。在这个重复的问题中也进行了讨论:Force R not to use exponential notation (e.g. e+10)?

    【讨论】:

      【解决方案2】:

      其他几个选项...

      x <- 744955224482948
      
      ## use a 64-bit integer
      bit64::as.integer64(x)
      # integer64
      # [1] 744955224482948
      
      ## format without scientific notation
      format(x, scientific = FALSE)
      # [1] "744955224482948"
      
      ## encodeString() does the same thing in this case
      encodeString(x)
      # [1] "744955224482948"
      

      还要注意?print.default中的注释

      大量位数

      请注意,对于较大的数字值,目前对于 >= 16 的数字,有效位数的计算将取决于 sprintf() 功能的平台内部(C 库)实现。

      【讨论】:

        【解决方案3】:

        对于您作为示例给出的整数长度,R 只是很好地读取它们,整数就在那里,它只是不会完全使用默认值打印。 要查看整数,请使用打印函数中的数字参数。 例如:

         x <- 744955224482948
         x
        [1] 7.449552e+14
        
         print(x,digits=14)
        [1] 744955224482948
        

        【讨论】:

        • 酷豆会做到这一点
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-06
        • 2015-07-14
        • 2012-06-02
        • 1970-01-01
        • 2021-01-15
        • 2019-02-18
        • 2021-09-22
        相关资源
        最近更新 更多