0
input a
88888888
99999999
end
export excel a.xlsx, replace

次に、Excel ファイルを開くと、数字は 8.89e+07 と 1.00e+08 として表示されます。これらを元の数値に戻すにはどうすればよいですか。これは Excel で行う必要がありますか? Stata がこれらの数値を「科学的」形式に変換するのを防ぐ方法はありますか?

4

1 に答える 1

2

コマンドの効果は、inputこれらの数値を型の変数に読み込むことですfloatfloatしかし、 99999999 を正確に保持するのに十分なビットが a にありません。これは十分に文書化されています。

たとえば、次のヘルプを参照してくださいdata types

"floatの精度は約 7 桁です。数値の大小は関係ありません。したがって、1234567 は、float1234567e+20 のように として完全に格納できます。ただし、数値 123456789 は 123456792 に丸められます。一般に、これは丸めは関係ありません。

識別番号を保存している場合、丸めが重要になる可能性があります。識別番号が整数で 9 桁以下の場合は、longs として格納します。それ以外の場合は、s として保存しますdoubledoubleの精度は 16 桁です。」

したがって、不適切なデータ型を使用してデータを劣化させました。ではなく、それが問題export excelです。

于 2013-03-28T11:25:28.740 に答える