Application Development and Automation 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: 
Read only

Rounding Off a Numeric Value

Former Member
0 Likes
1,861

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
Read only

Former Member
0 Likes
1,315

Hi,

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

it automatically rounds off.

Jayant Sahu

Read only

Former Member
0 Likes
1,315

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

Read only

Former Member
0 Likes
1,315

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

then subtract the result from the original ...

Read only

Former Member
0 Likes
1,315

Hi,

Declare that Final variable as packed decimal(P)

data: total type p.

regards,

ravi shankar reddy

Read only

Former Member
0 Likes
1,315

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.

Read only

Former Member
0 Likes
1,315

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

Read only

Former Member
0 Likes
1,315

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.

Read only

Former Member
0 Likes
1,315

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