全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2988 2
2016-03-18
举例:假设a变量某个数据为140421103216,在stata里是科学计数法形式,我用format a %20.0f去掉了科学计数法,接下来我想生成b为a的前4位,我用gen b=substr(string(a),1,4)命令后,结果变成了1.40,也就是说系统仍然是在科学计数法的基础上处理的。现在我想让b=1404,该如何解决?(补充一点,不能使用b=int(a/100000000),因为a里面还有大量不是12位的数据)
二维码

扫码加我 拉你入群

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

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

全部回复
2016-3-22 12:22:42
不要简单的用string(),用这个转换就好了
复制代码
二维码

扫码加我 拉你入群

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

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

2016-3-22 13:21:56
夏目贵志 发表于 2016-3-22 12:22
不要简单的用string(),用这个转换就好了
多谢,我也想了个办法,就是把数字都化成6位,即12位的除以1000000,11位的除以100000,以此类推,再在这些6位数的基础上使用int(a/100)就出来了。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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