判断字符型可否转为其他类型

1、字符型到日期型
标准做法一般调用函数:DATE_CHECK_PLAUSIBILITY,如果不需要太详细的错误信息,根据SAP类型转换规则,也可以写出如下代码:
DATA: dd TYPE sy-datum,
      cc(8).
 
cc = '20110728'.
dd = cc.

IF dd = 0.
  WRITE: dd,'错误'.
ELSE.
  WRITE: dd,'正确'.
ENDIF.
 
 
2、字符型到时间类型
函数:TIME_CHECK_PLAUSIBILITY,或者如第一条写代码
 
 
3、字符型到数值型
DATA: pp TYPE p DECIMALS 2.
DATA: cxroot TYPE REF TO cx_root,
      exception_msg(1000),
      msg(1000).
PARAMETERS: str(6) .


**方法1
TRY .
    pp = str.
  CATCH cx_root INTO cxroot.
    msg =  cxroot->get_text( ).
    WRITE:/ msg.
ENDTRY.


**方法2
CATCH SYSTEM-EXCEPTIONS convt_no_number = 1.
  pp = str .
ENDCATCH.
IF sy-subrc <> 0.
  WRITE / 'Error!'.
ENDIF.


**方法3
DATA str_tmp TYPE string .
str_tmp = str.
IF NOT str_tmp CO '0123456789.-'.
  WRITE / 'Err'.
ELSE.
  pp = str_tmp.
ENDIF.
WRITE / pp.


**方法1和方法2不可以在同一个程序使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值