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命令的效果是将这些数字读入float类型变量。但是 a 中没有足够的位float来准确地保存 99999999。这是有据可查的。

参见例如帮助data types

" floats 的精度大约为 7 位;数字的大小无关紧要。因此,1234567 可以完美地存储为float,1234567e+20 也可以。但是,数字 123456789 将四舍五入为 123456792。一般来说,这四舍五入没关系。

如果您要存储标识号,则四舍五入可能很重要。如果标识号为整数且不超过 9 位,则存储为longs;否则,将它们存储为doubles。 doubles 有 16 位的准确度。”

因此,您使用不适当的数据类型降低了数据质量。那是问题,不是export excel

于 2013-03-28T11:25:28.740 回答