SAP中负数的表示增强 负号从数字后更改到数字前面
来源:互联网 发布:java web项目开发案例 编辑:程序博客网 时间:2024/05/16 13:08
CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
VALUE = gt_table-column5.
问同事了下,告诉我用write to语句把负数取绝对值,然后把数字型写入字符型可以保留千位符,再判断正负数,在输出的时候添上负号。在FORM里我就是这样改的了,很方便。
Form asset_front_minus changing value1.
value2 = abs( value1 ).
write value2 to string1.
condense string1.
if value1 < 0.
write: '-', string1 LEFT-JUSTIFIED NO-GAP NO-ZERO.
else.
write: string1 LEFT-JUSTIFIED NO-GAP NO-ZERO.
endif.
endform.
他告诉我手动把字符型加千位符的,取整,判断长度,除3以后循环mask"___,"格式,分割,再处理头3位,觉得有点头晕,麻烦啊。不过真有强人这么做,下面就是了,手动把字符型加千位符号。
FORM NUMTOSTR USING VALUE(ZNUM) CHANGING VALUE(ZSTR).
DA
N TYPE I,
ZCSTR(20) TYPE C,
ZCSTR2(20) TYPE C,
ZCTEMP(3) TYPE C,
ZFLAG(1) TYPE C VALUE '.',
ZFLAG2 TYPE I VALUE 0,
ZCDEC(20) TYPE C. "记录小数部分.
ZSTR = ''.
CHECK ZNUM <> 0.
IF ZNUM <= -1000.
ZFLAG2 = 1.
ZNUM = ABS( ZNUM ).
ENDIF.
IF ZNUM >= 1000.
ZCSTR = ZNUM.
* 压缩字符串,去除前面的空格。
CONDENSE ZCSTR NO-GAPS.
* 分离整数与小数,好单独处理整数。
SPLIT ZCSTR AT ZFLAG INTO ZCSTR ZCDEC.
ZCLEN = STRLEN( ZCSTR ).
* 在循环中从右面在每三位的前面加上一个逗号。
WHILE ZCLEN > 3.
N = ZCLEN - 3.
ZCTEMP = ZCSTR+N(3).
IF NOT ZCSTR2 IS INITIAL.
CONCATENATE ZCTEMP ZCSTR2 INTO ZCSTR2 SEPARATED BY ','.
ELSE.
ZCSTR2 = ZCTEMP.
ENDIF.
ZCLEN = ZCLEN - 3.
ENDWHILE.
* 将不剩下的不足三位数加到前面
CONCATENATE ZCSTR+0(ZCLEN) ZCSTR2 INTO ZCSTR2 SEPARATED BY ','.
IF ZFLAG2 = 1.
CONCATENATE '-' ZCSTR2 INTO ZCSTR2.
ENDIF.
CLEAR ZCSTR.
* 将处理过的整数与小数连接起来。
CONCATENATE ZCSTR2 ZCDEC INTO ZCSTR SEPARATED BY ZFLAG.
* 将值返回
ZSTR = ZCSTR.
ELSE.
ZSTR = ZNUM.
ENDIF.
ENDFORM.
- SAP中负数的表示增强 负号从数字后更改到数字前面
- SAP中负数的表示增强 负号从数字后更改到数字前面
- 函数CLOI_PUT_SIGN_IN_FRONT:将数字的负号提到前面
- 从键盘接受一个数字,打印该数字表示的时间,最大单位到天
- 把SAP里的负号放到前面来的函数
- js脚本允许输入负号的数字
- SAP中负号前置的函数:CLOI_PUT_SIGN_IN_FRONT
- 黑马程序员——从键盘接受一个数字,打印该数字表示的时间,最大单位到天
- 黑马程序员——从键盘接受一个数字,打印该数字表示的时间,最大单位到天
- 负数的负号前置显示
- 从1到n的数字中1的个数
- 数字二进制表示中1的个数
- 数字二进制表示中1的个数
- 字符串中判断数字(值),包含小数点,正负号
- 输入框中只能输入数字,小数点,负号
- 在EditBox中只能输入数字包括小数点和负号
- objective c 中方法前面正负号的意义
- 计算从数字1到数字n中1的个数
- Solr服务安装(Windows)
- Spring+Hibernate Error: org.hibernate.service.UnknownUnwrapTypeException: Cannot unwrap to requested
- LCM的个数 UVa10892
- Oracle 备份脚本
- linux的tar命令压缩和解压缩文件
- SAP中负数的表示增强 负号从数字后更改到数字前面
- LeetCode中Count Primes的java实现
- 4.1 eclipse -android 中文乱码的解决
- Logstash
- Oracle LISTAGG排重方法
- JAVA反射机制
- ios如何通过storyboard获得视图控制器
- 如何高效的将word文档转换成PDF文档
- 文件操作设定路径的一些注意