楼主: 皖山一流
16060 13

[学习心得] 解决指数形式的数值型变量无法-tostring- [推广有奖]

  • 4关注
  • 13粉丝

讲师

26%

还不是VIP/贵宾

-

威望
0
论坛币
2342 个
通用积分
155.3336
学术水平
73 点
热心指数
80 点
信用等级
54 点
经验
16523 点
帖子
354
精华
0
在线时间
308 小时
注册时间
2013-12-9
最后登录
2021-1-21

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. tostring var , format(%100.0g) replace     
复制代码
数值型的变量数字特别多,便会以指数形式表示,这时将其转换为字符型往往会出错。
例如:xxx cannot be converted reversibly; no replace  
如果强行转换,则会出现指数形式的字符,如:1.35e+17,很显然这是不行的!本代码的关键之处在于format的设定,%后的数字,应该尽可能的大,只有这样才能保证可以转换,并且转换后不会有形如1.35e+17的记录出现

全部思路均在本文代码中呈现!欢迎指正!


  1. *[思路]

  2. *=产生实验数据,后面操作会破坏之,请酌情重新运行!=
  3. cap drop var
  4. input var
  5.         1234567890123
  6.         12345
  7.         8888888
  8.         123456789012345678
  9.         12345678    //8位是是否指数形式的临界值
  10.         123456789
  11. end
  12. label var var "实验变量"
  13. ed        

  14. *=常规思路=
  15. tostring var , replace        
  16.         * Error Message:var cannot be converted reversibly; no replace

  17. * 那怎么办捏?哦,想到了,于是、、、

  18. *=错误方法=
  19. tostring var , replace force    // force is ×
  20. ed                 // 看到了吧,这肯定不是你我想要的结果!

  21. *=大神之法=
  22. gen var_ref=var   // 待会儿便于核查
  23. label var var_ref  "参照"
  24. **************************************

  25. tostring var , format(%100.0g) replace   //%100? 好吓人哦、、、别急!go on...

  26. **************************************
  27. ed                        // look! 兴奋吧、过瘾吧!

  28. des  /*look! var  str18   %18s  
  29.         并没有和100有什么关系,所以不用担心设定100太大!
  30.         #* 设定100甚至更大,可以非常以及可定的保证了-tostring-的成功,
  31.                 更重要的是:完全不会有可能再出现 1.35e+17 之类的怪物了哦~~~*/
  32.                
复制代码







二维码

扫码加我 拉你入群

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

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

关键词:tostring string tring 指数形式 RING 指数形式 数值型 tostring 转换 converted

已有 16 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
samandty + 1 + 1 + 1 精彩帖子
qzzkatie + 1 + 1 + 1 精彩帖子
ofse + 100 + 1 + 1 + 3 精彩帖子
柏柏660 + 2 + 2 + 2 + 2 精彩帖子
wydy713 + 2 + 5 精彩帖子
燕语呢喃lhy + 5 + 2 + 2 + 2 精彩帖子
似水流年.xmuer + 1 + 1 + 1 + 1 精彩帖子
哆啦小凡子 + 1 + 1 + 1 精彩帖子
Sunknownay + 3 + 3 + 3 鼓励积极发帖讨论
星空tcl + 1 精彩帖子

总评分: 经验 + 200  论坛币 + 44  学术水平 + 24  热心指数 + 26  信用等级 + 21   查看全部评分

本帖被以下文库推荐

士不可不弘毅,任重而道远~
沙发
625928915 学生认证  发表于 2015-2-3 10:23:54 |只看作者 |坛友微信交流群
学习,学习

使用道具

藤椅
SpencerMeng 在职认证  发表于 2015-2-3 20:41:35 |只看作者 |坛友微信交流群
感谢楼主~~持续进行ing

使用道具

板凳
我的素质低 学生认证  发表于 2015-2-4 10:25:34 |只看作者 |坛友微信交流群
欢迎原创~~~~   

使用道具

报纸
皖山一流 学生认证  发表于 2016-3-28 16:04:19 |只看作者 |坛友微信交流群
今天发现熟悉达到20左右以上依然有问题,,,不知道谁还有更好的办法?

使用道具

地板
xxyk33 发表于 2017-5-5 20:00:36 |只看作者 |坛友微信交流群
谢谢楼主

使用道具

7
hanguangduchu 发表于 2017-5-14 21:42:25 |只看作者 |坛友微信交流群
皖山一流 发表于 2016-3-28 16:04
今天发现熟悉达到20左右以上依然有问题,,,不知道谁还有更好的办法?
format idind %20.0f

. tostring idind, format(%100.0g) replace
我是这样操作的,成功了

使用道具

8
cherry_akashi 在职认证  发表于 2017-10-17 15:53:33 |只看作者 |坛友微信交流群
感谢楼主!!!

使用道具

感谢楼主!解决了一个疑难杂症。

使用道具

楼主言简意赅,万分感谢!!!
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
yuandongping3 + 5 + 1 + 1 精彩帖子

总评分: 论坛币 + 5  学术水平 + 1  热心指数 + 1   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 18:12