REPORT Z_ROUNDING . DATA: float TYPE f, amount TYPE p DECIMALS 2, correctamount TYPE p DECIMALS 2, chars(5) TYPE c value '1.005'. CLASS cl_abap_math DEFINITION LOAD. correctamount = chars. WRITE: / 'Exactly:', chars, / 'Correct Amount:', correctamount. float = chars. amount = float. skip 2. WRITE: / '==== Usual Processing:', / 'Float:', float, / 'Decimals 3:', float DECIMALS 3, / 'Decimals 2:', float DECIMALS 2, / 'Amount:', amount. float = cl_abap_math=>round_f_to_15_decs( float ). amount = float. skip 2. WRITE: / '==== Correct Processing:', / 'Float:', float, / 'Decimals 3:', float DECIMALS 3, / 'Decimals 2:', float DECIMALS 2, / 'Amount:', amount.