楼主: Jeeson_M
1428 2

[问答] 一样的逻辑,截然相反的结果? [推广有奖]

  • 0关注
  • 0粉丝

高中生

60%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
8.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
149 点
帖子
5
精华
0
在线时间
58 小时
注册时间
2016-3-21
最后登录
2021-10-26

楼主
Jeeson_M 学生认证  发表于 2019-2-25 11:35:41 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
%let da = 44.46600008;
%let db = 43500;

data _null_;
    if &da. > &db. then put "A";
    else put "B";
run;

%macro test();
%if &da. > &db. %then %put A;
%else %put B;
%mend;


第一个PUT B,第二个PUT B;


二维码

扫码加我 拉你入群

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

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

关键词:600008 统计数据 SAS

沙发
西風の碧樹 学生认证  发表于 2019-2-25 12:31:14
在macro definition中,对float的macro variable进行运算要用%sysevalf,所以应该是

%macro test();
%if %sysevalf(&da. > &db.) %then %put A;
%else %put B;
%mend;
%test()

这样就出来B了

藤椅
Jeeson_M 学生认证  发表于 2019-2-25 12:59:12
西風の碧樹 发表于 2019-2-25 12:31
在macro definition中,对float的macro variable进行运算要用%sysevalf,所以应该是

%macro test();
还真是,谢谢大佬

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

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