楼主: gaotao0727
17195 9

[问答] SAS的length问题 [推广有奖]

  • 1关注
  • 10粉丝

已卖:67份资源

副教授

79%

还不是VIP/贵宾

-

威望
0
论坛币
545 个
通用积分
11.1290
学术水平
18 点
热心指数
18 点
信用等级
12 点
经验
27715 点
帖子
873
精华
0
在线时间
855 小时
注册时间
2011-8-8
最后登录
2025-9-11

楼主
gaotao0727 发表于 2011-11-1 11:18:28 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
研究SAS有不长时间,但出现这个问题不知道如何解答~~~~~
有如下程序:
data test;
length x 5;
x=1/3;
put x=;
run;
proc contents data=test;
run;
put输出结果为:

x=0.3333333333   (共12位)
而在数据集中显示:x=0.333333333  (共11位)
length x 5;这个里面的5在哪里可以体现出来,不知道这长度5有什么用呢???






二维码

扫码加我 拉你入群

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

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

关键词:length leng sas的 eng contents contents 程序 如何

衣带渐宽终不悔,为伊消得人憔悴~~

沙发
tj0412ymy 发表于 2011-11-1 18:17:51
length x 5;是指X占内存的长度,并不是指字符的长度。如果只想输出5位字符的话,调用函数即可:
  1. data test;
  2. length x 5;
  3. x=round(1/3,.0001);
  4. put x=;
  5. run;
  6. proc contents data=test;
  7. run;
复制代码
对SAS和统计方面感兴趣的朋友,请加SAS学习和认证讨论群:169157207。欢迎在群上讨论!

藤椅
luorongjin 发表于 2011-11-1 23:02:31
这个问题是这样的,length这里控制的是输出数据集中的字符长度,你用put的话,在sas log里面还是会输出sas默认的数值格式也即12位,data test;
length x 5;
x=1/3;
put x=;
run;
proc print data=test;
run;
你用这个run下你就知道了!
已有 1 人评分学术水平 热心指数 收起 理由
playmore + 1 + 1 热心帮助其他会员

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

板凳
playmore 发表于 2011-11-2 09:23:33
luorongjin 发表于 2011-11-1 23:02
这个问题是这样的,length这里控制的是输出数据集中的字符长度,你用put的话,在sas log里面还是会输出sas默 ...
嗯,果然是这样
学习了
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

报纸
gaotao0727 发表于 2011-11-2 12:36:58
luorongjin 发表于 2011-11-1 23:02
这个问题是这样的,length这里控制的是输出数据集中的字符长度,你用put的话,在sas log里面还是会输出sas默 ...
我看到了运行结果!日志里面输出的确是12位的,但是output里面输出的和打开数据集看见的位数为什么不一样呢???
衣带渐宽终不悔,为伊消得人憔悴~~

地板
gaotao0727 发表于 2011-11-2 12:42:53
tj0412ymy 发表于 2011-11-1 18:17
length x 5;是指X占内存的长度,并不是指字符的长度。如果只想输出5位字符的话,调用函数即可:
非常感谢!那你说的这里的内存长度是5Byte吗?这个函数可以设置输出字符位数,但数据集中显示的值为什么又变成了0.3332999991了呢?
衣带渐宽终不悔,为伊消得人憔悴~~

7
zcjdkl0703 发表于 2014-3-15 15:33:21
luorongjin 发表于 2011-11-1 23:02
这个问题是这样的,length这里控制的是输出数据集中的字符长度,你用put的话,在sas log里面还是会输出sas默 ...
谢谢,学习了!

8
冰川断层 发表于 2015-8-5 11:53:10
playmore 发表于 2011-11-2 09:23
嗯,果然是这样
学习了
改成length  x  6;   length x 4;
输出数据集的结果和length x 5; 一样啊,这是怎么回事

9
teqel 发表于 2015-8-5 21:03:09
format

10
穿在袜子上的脚 发表于 2015-8-6 19:24:16 来自手机
你这个5后面不是应该加个点吗?5.这样,感觉设置问题

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 12:54