公眾號:
matinal
本文作者:
matinal
前言部分
大家可以關注我的公眾號,公眾號里的排版更好,閱讀更舒適。
正文部分
今天有人問我關於四舍五入的算法
其實,SAP提供了函數,沒有函數也是可以的
但還是用函數做比較方便,舉例如下:
DATA: L_DATA TYPE P DECIMALS 3 VALUE '1.456'. DATA: L_DATA1 TYPE P DECIMALS 3. DATA: L_DATA2 TYPE P DECIMALS 3 VALUE '1.546'. * 方法一 CALL FUNCTION 'HR_NZ_ROUNDING_DECIMALS' EXPORTING VALUE_IN = L_DATA CONV_DEC = 1 " 設置保留幾位小數 IMPORTING VALUE_OUT = L_DATA1 EXCEPTIONS no_rounding_required = 1 decimals_greater_than_10 = 2 rounding_error = 3 OTHERS = 4. WRITE: L_DATA1. * 方法二 CALL FUNCTION 'ROUND' EXPORTING DECIMALS = 0 " 保留多少位小數 INPUT = L_DATA2 SIGN = '+' " + 向上取舍 - 向下取舍 (負數也一樣) IMPORTING OUTPUT = L_DATA1 " 輸出返回結果 EXCEPTIONS input_invalid = 1 overflow = 2 type_invalid = 3 OTHERS = 4. WRITE: L_DATA1.