现在的位置: 首页 > 综合 > 正文

负数的负号前置显示

2013年04月01日 ⁄ 综合 ⁄ 共 1250字 ⁄ 字号 评论关闭

步骤:
1. 求质.
2. 放到CHAR型变量里.
3. 在前面加负号,连接,压缩空格,输出.

最简单的就是用字符转换吧,还有个功能函数就是专门用来负号前置的,但有些附带的问题,以后用到再看.

程序代码:
----------------------------------------
REPORT  zpab06_t_negtive.

*----------------------------------------------------------------------*
*  负数的负号前置显示 (i,f,p 类型为右对齐显示"RIGHT-JUSTIFIED")        *
*----------------------------------------------------------------------*

*----------------------------------------------------------------------*
*      整数
*----------------------------------------------------------------------*

DATA: output(12)   TYPE c,
      outdata  TYPE i VALUE '-1'.

IF outdata < 0.
  outdata = ABS( outdata ).                "OUTDATA = OUTDATA * ( -1 ).
  MOVE outdata TO output.
  CONCATENATE '-' output INTO output.
  CONDENSE output NO-GAPS.                 "压缩字符串,去掉空格
ENDIF.

WRITE : / output.

*----------------------------------------------------------------------*
*      浮点数
*----------------------------------------------------------------------*

DATA: output1(19)   TYPE c,
      outdatum   TYPE p DECIMALS 2 VALUE '-1.23'.

IF outdatum > 0.
  WRITE outdatum TO output1.                        "RIGHT-JUSTIFIED.
  CONCATENATE ' ' output1 INTO output1.
ELSE.
  outdatum = outdatum * ( -1 ).
  WRITE outdatum TO output1.                        "RIGHT-JUSTIFIED.
  CONCATENATE '-' output1 INTO output1.
ENDIF.

CONDENSE output1 NO-GAPS.

WRITE: / output1.

抱歉!评论已关闭.