我知道ALV输出时可以控制小数数位。可是现在业务部门有这样一个需求,比如说,如果系统数量是7.000的时候输出为整数7,如果系统数量是7.050的时候输出为7.05,如果系统数量是7.056的时候输出为7.056。有什么好办法处理么?谢谢。
Blog作者的回复:
LIKE THIS:
.....
ls_fieldcat-edit_mask = '==ZZERO' .
.....
FUNCTION conversion_exit_zzero_output.
*"----------------------------------------------------------
*"Local interface:
*" IMPORTING
*" VALUE(INPUT) OPTIONAL
*" EXPORTING
*" REFERENCE(OUTPUT)
*"-----------------------------------------------------------
DATA: str TYPE string ,
str2 TYPE string .
str = input.
CONDENSE str NO-GAPS.
SPLIT str AT '.' INTO str str2.
SHIFT str2 RIGHT DELETING TRAILING '0' .
CONDENSE str2.
CONCATENATE str '.' str2 INTO str.
SHIFT str RIGHT DELETING TRAILING '.' .
utput = str.
ENDFUNCTION.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23495244/viewspace-696242/ ,如需转载,请注明出处,否则将追究法律责任。