请问abap中怎样判断变量的值是否为数字?

 我来答
清学岺丛己
2020-03-17 · TA获得超过3.8万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:1061万
展开全部
01
首先看下我们用while循环语句的代码,如图,
while(i<=5)
的意思就是当i变量小于等于5的时候(即不大于6),就执行while语句里的代码:输出显示当前i变量的值。
要注意的是一定要加上i++这行代码。
这行代码是在每次循环时让i变量加1,如果没有这行代码,那么i变量一直都是1,就永远不会跳出循环语句了。
02
运行结果如图,代码从1到5,共5次输出显示i变量的值。
03
同样的功能,我们把代码改成用do
while循环语句,
04
运行后得到的结果和用while循环的语句是一样的。
05
那么是不是二者没有区别呢?
不是的,我们修改下循环语句的条件就可以看到区别了。修改代码,把i=1改成i=10,其他不变,代码如图。
06
运行结果如图,可以看到没有数字输出,因为i=10时,while(i<=5)的条件是不成立的,(10<=5肯定是不可能的),所以不会执行while里的语句。
07
用do
while时呢?也修改下条件,代码如图。
08
运行结果如图,可以看到有输出一个数字10。
为什么会这样?因为do
while循环是先执行代码do里的语句,然后才去判断while里的语句,如果while语句符合条件,则进入下一次循环,不符合条件,则不再循环。也就是说,无论条件是否符合,都会至少执行一次do里的语句。所以就算10<=5是不成立的,代码还是执行了一次do里面的输出逻辑。这就是它和while语句的主要区别。
End
真淑敏军秋
2020-03-20 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:31%
帮助的人:887万
展开全部
用正则表达式。
DATA:MATCHER
TYPE
REF
TO
CL_ABAP_MATCHER.
DATA:MATCH
TYPE
C
LENGTH
1.
DATA:STR(10)
TYPE
C.
STR
=
'12345'.
MATCHER
=
CL_ABAP_MATCHER=>CREATE(
PATTERN
=
'\d+'
TEXT
=
STR
).
MATCH
=
MATCHER->MATCH(
).
如果MATCH
=
'X',则该字符串即为满足正则表达式的变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式