楼主: tagman
1572 4

[原创博文] 请问这段程序错在哪里? [推广有奖]

  • 0关注
  • 0粉丝

已卖:26份资源

高中生

32%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
338 点
帖子
20
精华
0
在线时间
26 小时
注册时间
2011-2-24
最后登录
2018-9-19

楼主
tagman 发表于 2011-3-15 15:25:52 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data a;
if formno/10-int(formno/10)=0 then group=0;
if formno/10-int(formno/10)=0.1 then group=1;
if formno/10-int(formno/10)=0.2 then group=2;
run;

结果:group变量的取值只有0和2,为什么没有1呢?请高手指点
二维码

扫码加我 拉你入群

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

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

关键词:Group form Then 高手指点 Data 程序

本帖被以下文库推荐

沙发
hopewell 发表于 2011-3-15 19:11:57
  1. data _null_;
  2.     if 1-.1*9=.1 then put "TRUE";
  3.     else put "FALSE";
  4.     if round(1-.1*9,.1)=.1 then put "TRUE";
  5.     else put "FALSE";
  6. run;
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Actree + 1 + 1 + 1 不错

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

观钓颇逾垂钓趣 种花何问看花谁

藤椅
myc_sas 发表于 2011-3-15 23:13:53
猜测是浮点值的问题。

data a;
        result=round(formno/10-int(formno/10), .1);
        if result=0 then group=0;
        else if result=0.1 then group=1;
        else if result=0.2 then group=2;
run;

板凳
ntsean 发表于 2011-3-16 08:57:33
你的问题等价于10的余数,你直接取余数就可以了

data a;
group=mod(formno,10);
run;

报纸
tagman 发表于 2011-3-16 15:56:40
因为本人刚开始学习SAS,所以很多还不懂,ntsean的好像更简单明了一点啊。谢谢各位啦!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-4 05:25