搜索

怎样判断变量的值是否为数字?

发布网友 发布时间:2022-04-23 17:20

我来回答

2个回答

热心网友 时间:2023-10-10 17:05

    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

热心网友 时间:2023-10-10 17:06

用正则表达式。

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',则该字符串即为满足正则表达式的变量。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top