ALV小数位数控制

来源:互联网 发布:色彩构成 知乎 编辑:程序博客网 时间:2024/05/21 10:19

我知道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 '.' .
  output = str.

ENDFUNCTION.


**************************************
*只是针对正数的情况,如果是负数请自行调整程序

 

 

來自:http://ruyue318.blog.sohu.com/110710394.html