全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
10372 13
2012-07-06
如题,之前看过这个论坛里的SAS高手发贴说data step里面length语句后的点是一种错误理解。说很多人把length语句和format混淆都加一个点。

例如这样:

data a;
       length x 8.;
       x=1;
run;

他们说在8后面加一个点是错误的理解,但是SAS也会运行。

经过我个人测试,这个点还是起很大作用的,有点和没点的功能不一样。毕竟SAS语言不会那么不严谨。

二维码

扫码加我 拉你入群

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

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

全部回复
2012-7-6 12:32:24
请教不同之处~
二维码

扫码加我 拉你入群

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

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

2012-7-6 13:30:53
zhangzachary 发表于 2012-7-6 12:32
请教不同之处~
长度不一定是整数,对于变量不是整数的值会造成影响。
二维码

扫码加我 拉你入群

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

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

2012-7-6 13:38:31
zhangzachary 发表于 2012-7-6 12:32
请教不同之处~
你运行一下以下的程序,比较一下结果。

data a;
        length x 3;
        x=8193;
run;

data a;
        length x 3.999999999999999;
        x=8193;
run;

data a;
        length x 3.9999999999999999999999999999;
        x=8193;
run;
二维码

扫码加我 拉你入群

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

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

2012-7-6 14:25:43
astrozscore 发表于 2012-7-6 13:38
你运行一下以下的程序,比较一下结果。

data a;
数字型的时候,长度的确可以不是整数。
但是这与你所想表达的东西貌似没有关系。
在format后面能用3.999吗,在length后面能用8.1吗,length后面$8,$8.1,$8.,$8.999有区别吗?
format里的.和length是不一样的。
论坛里所讨论的也应该是结尾的那个点,并且是对于字符型变量的。
为什么很多人在length后面会加点并不是出于对数字型变量非整数情况的理解,而是误解成format,这才是讨论的主题。
当然,据说,在较早的版本,可能V6之前,length语句后是有点的,不过我相信没几个人是因为习惯的吧?~
二维码

扫码加我 拉你入群

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

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

2012-7-6 14:33:06
zhangzachary 发表于 2012-7-6 14:25
数字型的时候,长度的确可以不是整数。
但是这与你所想表达的东西貌似没有关系。
在format后面能用3.99 ...
对,我就是想说length和format的.不是一个意思。你说得对,这两个不能直接比较因为.起的功能不一样。

我对那个帖子的理解是length后面的.是没有任何意义的,而且输入.完全是把length和format混淆了。根据我的测验,这个.还是有作用的,对不?

很多人用错肯定是和format搞混了,但是本身这个.还是有用的。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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