整数与宏的连接

Integer concatenation with macro

如何正确连接整数和宏? 我必须在这里调用它两次,因为我不能在“,”之后添加一些东西(错误)

#define concat(a,b,c) a##b##c
dim as integer a=10,b=20,c=30,d
d = a concat(*100+,,)b
d = d concat(*100+,,)c
?d  'output = 102030
sleep

我从 freebasic 论坛找到了解决方案

#define concat(a,b,c)  (((a)*100+(b))*100+(c))
dim as integer a=10,b=20,c=30,d
d = concat(a,b,c)
?d  'output = 102030
sleep
#define concat(a,b,c) val(str(a)+str(b)+str(c))