日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAP中负数的表示增强 负号从数字后更改到数字前面

發布時間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP中负数的表示增强 负号从数字后更改到数字前面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SAP中的負號是放后面的,其實也無所謂,誰看不出來啊,關鍵人家要你改也沒有辦法。有個函數CLOI_PUT_SIGN_IN_FRONT是把負號提前的,但是它是把字符轉化為字符型輸出的。就是把負號split下然后放前面,這樣的問題就是在顯示的時候字符型數字沒有3位一分的千位分隔符。再把字符型賦予數字型輸出,但是輸出的時候負號還是會自動加后面滴~


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).

DATA : ZCLEN TYPE I,

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中负数的表示增强 负号从数字后更改到数字前面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。