在ABAP中如果要換算小數點有分兩種
第一種四捨五入,以下N2會帶出12.46
DATA: N1 type p DECIMALS 4.
DATA: N2 type p DECIMALS 2.
N1 = '12.4567'.
N2 = N1.
WRITE: '四捨五入', N2.
第二種無條件捨去並保留到小數點第二位,以下會帶出12.45
CALL FUNCTION 'ROUND'
EXPORTING
decimals = 2
input = N1
sign = '-'
IMPORTING
output = N2
EXCEPTIONS
input_invalid = 1
overflow = 2
type_invalid = 3
OTHERS = 4.
WRITE: / '無條件捨去', N2.
function中sign如果是『-』 代表無條件捨去
如果是『+』代表無條件進位
沒帶入那個參數,那就按照原本的格式四捨五入
如果實在不想要小數點怎麼辦那就設定一個DECIMALS 0的型態吧
這樣當別的丟給它,就會帶出沒小數點並且四捨五入後的整數了
DATA: N1 type p DECIMALS 0.
全站熱搜
留言列表