首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >格式命令更改值的问题

格式命令更改值的问题
EN

Stack Overflow用户
提问于 2022-09-21 14:59:55
回答 2查看 32关注 0票数 0

我首先将destring应用于ID变量(有17位数字)。它们被削弱了,但它们在科学符号中被显示出来。所以我尝试了命令format %20.0f。现在所有的数字都显示出来了,但是最后的2-3位数字现在被改变了。在这里输入图像描述

EN

回答 2

Stack Overflow用户

发布于 2022-09-21 15:53:59

Stata只能持有最多16位数的数字变量。

您最好的选择可能是将ID保留为字符串。

命令format只影响数据点对人类的显示方式,而不影响数据点的实际存储方式。

票数 1
EN

Stack Overflow用户

发布于 2022-09-21 16:25:19

这是为了补充@TheIceBear的答案。

format从不改变值。问题是,您的字符串太大了,即使它的数值等效值不能准确地保存在一个double中,除非偶尔。

代码语言:javascript
复制
clear 
set obs 5
gen id = 17*"9" in 1 
replace id = 16*"9" + "6" in 2 
replace id = 16*"9" + "2" in 3 
replace id = 15*"9" + "88" in 4 
replace id = 15*"9" + "84" in 5 
format id %20s 
destring id, gen(nid)
format nid %20.0f 
list  

     +----------------------------------------+
     |                id                  nid |
     |----------------------------------------|
  1. | 99999999999999999   100000000000000000 |
  2. | 99999999999999996   100000000000000000 |
  3. | 99999999999999992   100000000000000000 |
  4. | 99999999999999988    99999999999999984 |
  5. | 99999999999999984    99999999999999984 |
     +----------------------------------------+
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73803006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档