ALV字段‘‘QUAN‘小数位全为零不显示小数位,不全为零显示小数位

DATA: gs_fcat       TYPE lvc_s_fcat.

gs_fcat-fieldname =   'QUAN'.
  gs_fcat-scrtext_m = TEXT-t11.
  gs_fcat-col_pos  = '18'.
  gs_fcat-qfieldname = 'UNIT'.
  gs_fcat-quantity = 'ST'.
  gs_fcat-dd_outlen = '13'.
  gs_fcat-decimals  = '3'.
  gs_fcat-decimals_o = '0'.  "去掉全为0的小数位
  

若为普通类型数字

"去除无意义小数
CONDENSE wa_weight NO-GAPS.
SHIFT wa_weight RIGHT DELETING TRAILING '0'.     "除右边无意义0
SHIFT wa_weight RIGHT DELETING TRAILING '.'.     "除右边无意义小数点
SHIFT wa_weight LEFT DELETING LEADING space.     "去左边空
IF wa_weight = '0'.                                "值为0则不传值 wa_weight 为文本类型必须使用'0'
  CLEAR wa_weight.
ENDIF.

其他类型请参考江老师博客

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABAP ALV中,小数位数的限制通常由数据类型和字段属性共同决定。如果使用QUAN类型来表示带有小数位的数值,那么最大的小数位数是3位,因为QUAN类型的小数位数就是3位。如果使用其他类型,例如FLTP类型来表示带有小数位的数值,那么在定义表格字段时可以通过设置字段属性来限制小数位数的位数。 在ALV中,可以通过调用函数模块SALV_TABLE_FACTORY来创建一个ALV表格对象,在定义表格字段时可以设置字段属性,例如小数位数的位数。例如,可以在调用函数模块SALV_TABLE_FACTORY时,使用FIELD_CATALOG参数来定义表格的字段属性,其中DECIMALS属性可以用于指定小数位数的位数。例如,将DECIMALS属性设置为3,即可限制小数位数的位数为3位。具体示例代码如下: ``` DATA: lo_alv_table TYPE REF TO cl_salv_table. lo_alv_table = cl_salv_table=>factory( ). DATA: lt_fieldcat TYPE lvc_t_fcat. CLEAR lt_fieldcat. "定义表格字段 APPEND INITIAL LINE TO lt_fieldcat ASSIGNING FIELD-SYMBOL(<ls_fieldcat>). <ls_fieldcat>-fieldname = 'NET_VALUE'. <ls_fieldcat>-decimals = 3. "限制小数位数为3位 "设置字段目录 lo_alv_table->get_functions( )->set_all( abap_true ). lo_alv_table->get_columns( )->set_structure( lt_fieldcat ). "显示表格 lo_alv_table->display( ). ``` 通过以上代码,在定义表格字段时,将NET_VALUE字段的DECIMALS属性设置为3,即可限制小数位数的位数为3位。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值