input a
88888888
99999999
end
export excel a.xlsx, replace然后,如果我打开excel文件,数字将显示为8.89e+07和1.00e+08。如何才能将这些恢复为原始数字。我必须在Excel中执行此操作吗?有没有办法阻止Stata将这些数字转换成“科学”格式?
发布于 2013-03-28 19:25:29
input命令的作用是将这些数字读取到float类型的变量中。但是float中没有足够的位来精确地容纳99999999。这是有据可查的。
例如,请参阅data types的帮助:
“float的精度约为7位;数字的大小无关紧要。因此,1234567可以完美地存储为float,1234567e+20也可以。但是,数字123456789将四舍五入为123456792。通常,这种四舍五入并不重要。
如果您存储的是标识号,则四舍五入可能很重要。如果标识号是整数且小于或等于9位,则将其存储为longs;否则,将其存储为doubles。doubles具有16位的精度。“
因此,您使用了不适当的数据类型来降级数据。这就是问题所在,而不是export excel。
https://stackoverflow.com/questions/15672802
复制相似问题