全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
6472 5
2015-06-18
请教各位版友,想将一个19位的字符串转为数值型,但destring或encode都会直接默认使用科学计数法,而且destring也不能加format的option,请问要怎样才能保证转换后的数值型结果保留全部19位的数字呢?先谢谢啦~!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-6-18 11:02:09
http://www.ats.ucla.edu/stat/stata/faq/longid.htm

超过16位是不行的。看上面的链接解释
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-6-18 11:43:32
蓝色 发表于 2015-6-18 11:02
http://www.ats.ucla.edu/stat/stata/faq/longid.htm

超过16位是不行的。看上面的链接解释
明白啦,谢谢~!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-6-18 23:05:38
分两步进行,先destring再format。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-6-19 21:19:49
请参阅help rencode,使用rencode命令不会出现科学技术法情况
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-6-19 21:46:12
复制代码


destring是不能行的,在format是不行的,看看结果就知道了
rencode是从新编码,但当编码格式超过16为的时候仍然也是不行的,这是软件本身就决定了的


. clear
.
. input   ///
> str19 x

                       x
  1. 1234567890123456789
  2. 123456789012345678
  3. 12345678901234567
  4. 1234567890123456
  5. 123456789012345
  6. end

.
. destring x,gen(x1)
x has all characters numeric; x1 generated as double

. format x1 %20.0f
.
. rencode x,gen(x2)

. label drop _all
.
. list

     +------------------------------------------------+
     |                   x                    x1   x2 |
     |------------------------------------------------|
  1. | 1234567890123456789   1234567890123456800    5 |
  2. |  123456789012345678    123456789012345680    4 |
  3. |   12345678901234567     12345678901234566    3 |
  4. |    1234567890123456      1234567890123456    2 |
  5. |     123456789012345       123456789012345    1 |
     +------------------------------------------------+




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群