Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Rounding Off a Numeric Value

Former Member
0 Kudos

Hi Friends,

I want to round of a value

example :

6521.45 to 6521.00 and Round off is 0.45

if

6521.55 to 6522.00 and round off is 0.45

i want the vale and round of figure

is there any FM Avaliable or any Code should we write

Thanks and Regards

Kumar M

8 REPLIES 8

Former Member
0 Kudos

Hi,

declare result as type p with req no of decimal places.

it automatically rounds off.

Jayant Sahu

Former Member
0 Kudos

HI,

Check 'ROUND' FM.


data: nu(10) type p decimals 4.
data: nu1(5) type p decimals 2.

nu = '4.017'.
CALL FUNCTION 'ROUND'
EXPORTING
DECIMALS = 2
INPUT = nu

    * SIGN = ' '

IMPORTING
OUTPUT = nu1

    * EXCEPTIONS
    * NPUT_INVALID = 1
    * OVERFLOW = 2

*TYPE_INVALID = 3

    * OTHERS = 4
 

Regards,

Santosh

Former Member
0 Kudos

first use ceil or floor on the numeric value ...

then subtract the result from the original ...

ravishankar_reddy2
Active Participant
0 Kudos

Hi,

Declare that Final variable as packed decimal(P)

data: total type p.

regards,

ravi shankar reddy

Former Member
0 Kudos

hi,

HR_ROUND_NUMBER – Rounds a number according to rules

ROUND – Rounds value to a number of decimal places

ROUND_AMOUNT – Rounding based on company and currency

UNIT_CONVERSION_SIMPLE – Converts measurement unit values and rounds

Hope this is helpful, Do reward.

Former Member
0 Kudos

Hi,

DATA X TYPE P DECIMALS 2.

DATA N TYPE P DECIMALS 2.

DATA M TYPE P DECIMALS 2 VALUE '6521.55 '.

N = FRAC( M ).

if ( N > 0.5 )

X = floor( M).

else

X = ceil( M ).

endif

write:/ X. -> value

write:/ N. -> rounded figure

Regards

Former Member
0 Kudos

HI,

you can use CEIL or FLOOR statements,

Else assign the value to a variable of type i, Integer then it will be automatically rounded of without decimals.

KindRegards,

khader.

Former Member
0 Kudos

data: a type p value '100.235' decimals 3,

b type p decimals 2.

CALL FUNCTION 'ROUND'

EXPORTING

DECIMALS = '3'

input = a

  • SIGN = ' '

IMPORTING

OUTPUT = b

  • EXCEPTIONS

  • INPUT_INVALID = 1

  • OVERFLOW = 2

  • TYPE_INVALID = 3

  • OTHERS = 4

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

write: a , b.

ans 100.235, 100.24