【ABAP】字符串补0/去0(有转换例程OR无转换例程)

这篇博客介绍了如何在ABAP中进行字符串的补0和去0操作。通过示例代码展示了使用转换函数直接处理含有前导0和尾随0的字符串,以及在处理纯数字字符串时的转换方法。对于可能包含非纯数字的情况,提供了去0和补0的详细步骤,确保字符串达到预期格式。
摘要由CSDN通过智能技术生成

字符串补0/去0

1.有转换例程可以直接使用转换函数
在这里插入图片描述
补0
DATA: LV_VBELN_IN TYPE VBELN VALUE ‘15000042’.
LV_VBELN_IN = |{ LV_VBELN_IN ALPHA = IN }|.
去0
DATA: LV_VBELN_OUT TYPE VBELN VALUE ‘0015000042’.
LV_VBELN_OUT = |{ LV_VBELN_OUT ALPHA = OUT }|.
2.转换对象为纯数字时,也可以直接使用转换函数转换
DATA:LV_STR(5) VALUE ‘7’.
LV_STR = |{ LV_STR ALPHA = IN }|.

3.转换对象可能为包含非纯数字时

去0
SHIFT LV_STR LEFT DELETING LEADING ‘0’.
补0
DATA:LV_STR(8) VALUE ‘A’.
WHILE STRLEN( LV_STR ) < 5.
LV_STR = ‘0’ && LV_STR.
ENDWHILE.

DATA:LINT_INDEX TYPEI.
DATA: ZERO(1) VALUE ‘O’.
DATA:LV LEN TYPEI.
DESCRIBE FIELD LV_STR OUTPUT-LENGTH LV_LEN.
LINT_INDEX = LV_LEN - STRLEN(LV_STR).
IF STRLEN(LV_STR) <LV_LEN.
DO LINT_INDEX TIMES.
CONCATENATE ZERO LV_STR INTO LV_STR.
ENDDO.
ENDIF.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值