楼主: 逍遥梦蝶
1015 1

[字符问题求助] strofreal()函数的结果为何与原数值不一致? [推广有奖]

  • 3关注
  • 18粉丝

院士

7%

还不是VIP/贵宾

-

威望
0
论坛币
17962 个
通用积分
1001.5430
学术水平
111 点
热心指数
117 点
信用等级
87 点
经验
92878 点
帖子
704
精华
0
在线时间
5135 小时
注册时间
2009-5-22
最后登录
2026-3-10

楼主
逍遥梦蝶 发表于 2022-8-27 21:57:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
执行如下代码
  1. clear
  2. set obs 1                                
  3. gen x = 220104183910101231
  4. gen x_str1 = strofreal(x, "%25.0g")
  5. gen x_str2 = strofreal(x, "%25.0f")                                
  6. list
复制代码
显的结果如下

strofreal.png

最后两位变动了且不是四舍五入。请问为何生成的字符串数字与原值不符?

我也尝试了多种较长数字,均有类似情况。似乎是超出了一定长度的无规律的数字就会出现这种问题
二维码

扫码加我 拉你入群

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

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

关键词:Real Fre 四舍五入 list 字符串

沙发
917968079 发表于 2022-8-28 10:00:05
数值型数据存储会有精度问题,这种一般存为字符型比较合适,也很难遇到这么大的数值

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-3-11 05:18