2013-06-01 43 views
3

使用list命令時,是否可以顯示整數的附加數字 - 理想情況下是整數 - 而不是以科學計數法顯示?顯示其他數字而不是科學計數

例如,現在,我有一個顯示在1.90e + 10的整數,而我相信完整的值是19001000001.理想情況下,我想獲得完整的值,或者至少有更多的小數點提供了兩個(即9和0)。

我正在使用Stata SE 11.1。

回答

4

在使用list之前,只需使用format命令設置顯示格式即可。

. 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變量將使一些事情變得更容易,這取決於您想要如何處理它。

相關問題