显示其他数字而不是科学记数法

时间:2013-06-01 18:25:10

标签: integer stata scientific-notation

使用list命令时,是否可以显示整数的其他数字 - 理想情况下是整数 - 而不是以科学计数法显示?

例如,现在,我有一个显示在1.90e + 10的整数,而我认为完整的值是19001000001。理想情况下,我想得到那个完整的值,或者至少有额外的小数点。提供了两个(即9和0)。

我正在使用Stata SE 11.1。

1 个答案:

答案 0 :(得分:4)

在使用format之前,只需使用list命令设置显示格式。

. set obs 1
obs was 0, now 1

. gen double y = 987654321

. l y

    +-----------+
    |         y |
    |-----------|
 1. | 9.877e+08 |
    +-----------+

. format y %16.0f

. l y

    +-----------+
    |         y |
    |-----------|
 1. | 987654321 |
    +-----------+

如果list无法播放,其display选项将强制使用显示格式。在这个例子中不需要这样做。我在这里选择的format是任意的。 Stata倾向于不插入不需要的空格,因此只需选择一个比整数长度更大的数字。

(LATER)关注你的例子:你举了一个应该是19001000001的整数的例子。假设这是一个真实的(或现实的)例子,请注意float类型没有使用足够的位要准确地保持这一点,long不能保持那么大的整数,并且你唯一可能将其作为数字变量保存double

. set obs 1
obs was 0, now 1

. gen y1 = 19001000001

. gen double y2 = 19001000001

. gen long y3 = 19001000001

. l

      +---------------------------+
      |       y1          y2   y3 |
      |---------------------------|
   1. | 1.90e+10   1.900e+10    . |
      +---------------------------+

 . format y* %16.0f

 . l

        +--------------------------------+
        |          y1            y2   y3 |
        |--------------------------------|
  1   . | 19000999936   19001000001    . |
        +--------------------------------+

另一方面,您可以信任哪种计数或测量精度?可能这是某种恰好基于数字字符的标识符,在这种情况下,将其保存为string变量会使某些事情变得更容易,具体取决于您要对其执行的操作。