子串化SAS中数字变量的最后一位数字

Rod*_*292 2 sas

我在SAS中有一个数字变量,我很难提取它的最后一位数字.我试过使用substr但它只处理char变量.我有的变量有3或4位数.

1234
 237
 754
9000
Run Code Online (Sandbox Code Playgroud)

在这些情况下,我需要提取

34
37
54
00
Run Code Online (Sandbox Code Playgroud)

并将它们存储为新的数字变量.我在proc sql声明中尝试了代码,但它返回并出错.有人能帮我吗?

 Var2 =   input(substr(put(var1), 1, length(put(var1))-1), 8.)
Run Code Online (Sandbox Code Playgroud)

Ree*_*eza 5

SUBSTRN()使用数字变量,但在这种情况下它不能很好地工作,因为没有简单的方法来指定最后两个字符.MOD()在这种情况下,该函数运行良好,因为你基本上找到100的余数.因为它看起来像你想要的字符,你需要使用PUT()将它转换为一个字符,使用Z2格式保持0和前导零.

want = put(mod(value, 100), z2.);
Run Code Online (Sandbox Code Playgroud)