数字和字符转换

FLTP->CHAR

实现方式:调用FLTP_CHAR_CONVERSION_FROM_SI

实现结果:该函数输出字符类型,会根据个人设置转成对应的小数点字符(可能是逗号,也可能是逗点),不带千分位 

CHAR->FLTP

实现方式:调用CHAR_FLTP_CONVERSION_TO_SI

输入要求:输入的CHAR类型参数的小数点字符必须和用户参数设置相同,并且不能带千分位 

处理步骤:

1)CHAR->DEC:先将CHAR中的,替换为.;然后赋值给DEC     

DATA lv_ref_reading_dec TYPE znzaeh.   “定义一个dec类型

REPLACE ‘,’ IN ls_ref_reading WITH ‘.’.     “先将CHAR中的,替换为.

lv_ref_reading_dec = ls_ref_reading.        “然后赋值给DEC

2)DEC->CHAR:根据用户设置自动转换 

WRITE lv_ref_reading_dec TO ls_ref_reading NO-GROUPING.   

3)调用函数

CALL CHAR_FLTP_CONVERSION_TO_SI

DEC<->CHAR

  • DEC在程序中只能是句点’.’,没有千分位(只是在前台显示时会根据用户设置格式显示)
  • DEC->CHAR:WRITE 即可根据用户设置自动转换(WRITE l_nzaeh TO lv_char NO-GROUPING.无千分位)
  • CHAR->DEC:先将char中的”,”替换为”.”,不能带千分位,然后赋值
  • CHAR->CHAR(转为用户设置):无法实现,char->char不会有任何变化,相当于赋值