全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2430 4
2016-01-11
%let i=1; *之后i是要从1到52循环的,这里简便表示;
%let width=4;
%let numwindow=%sysevalf(int(%sysevalf(&i./&width.)));
%let fileno=%sysevalf(&numwindow.*&width);

这段定义中,第三排的int()函数不能使用,程序报错:
ERROR: 需要的操作符在以下表达式中没有找到: int(0.25)
ERROR: 宏 MOVING 将终止执行。

求问版内大神,我要用到取整函数来定义宏变量怎么办?是不是int()函数不能用在定义宏变量中?

谢谢!

二维码

扫码加我 拉你入群

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

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

全部回复
2016-1-11 10:15:52
我好像找到答案了,%eval就是取整的函数,不再需要int()来取整了。%sysevalf()是取浮点的函数。= =
二维码

扫码加我 拉你入群

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

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

2016-1-11 10:34:16
如果要用int,可以使用%sysfunc来调用
%let numwindow=%sysevalf(%sysfunc(int(%sysevalf(&i./&width.))));
二维码

扫码加我 拉你入群

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

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

2016-1-11 10:42:51
孤单的我们 发表于 2016-1-11 10:34
如果要用int,可以使用%sysfunc来调用
%let numwindow=%sysevalf(%sysfunc(int(%sysevalf(&i./&width.)))); ...
果然可以,谢谢!!
二维码

扫码加我 拉你入群

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

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

2016-1-11 10:42:56
孤单的我们 发表于 2016-1-11 10:34
如果要用int,可以使用%sysfunc来调用
%let numwindow=%sysevalf(%sysfunc(int(%sysevalf(&i./&width.)))); ...
果然可以,谢谢!!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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