2007 Apr 17 4:51 PM
hi, suppose that i have this number -> 0,6027395, how can i get from it only 0,602 and not 0.603???!??!?!
Anyone
Thk, Regards
2007 Apr 17 5:08 PM
Hi
try this, seems to work(not sure)
data:
w_pack type p decimals 8 value '0.6027395',
w_rounded type p decimals 3.
CALL FUNCTION 'ROUND'
EXPORTING
DECIMALS = 3
input = w_pack
SIGN = '-'
IMPORTING
OUTPUT = w_rounded
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:w_rounded.
Hi
try this, seems to work(not sure)
data:
w_pack type p decimals 8 value '0.6027395',
w_rounded type p decimals 3.
CALL FUNCTION 'ROUND'
EXPORTING
DECIMALS = 3
input = w_pack
SIGN = '-'
IMPORTING
OUTPUT = w_rounded
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:w_rounded.
2007 Apr 17 4:53 PM
I think you can't do it...
Greetings,
Blag.
Message was edited by:
Alvaro Tejada Galindo
2007 Apr 17 5:00 PM
Hi ,
yep Alvaro is right once again.
Greetings
Caglar
Message was edited by:
Caglar Ozkor
2007 Apr 17 5:02 PM
Hi Caglar:
Yeah....my mistake -:P I edited my message cause of course TRUNC would help....But FRAC is still giving 0.603 instead of 0.602...
Greetings,
Blag.
2007 Apr 17 5:07 PM
Hi Alvaro ,
I didn't try it and you are right , my mistake sorry
It's not working..
Regards
Caglar
2007 Apr 17 5:04 PM
DATA: v_decimals3 TYPE P DECIMALS 3.
v_decimals3 = your_number.
2007 Apr 17 5:08 PM
Hi
try this, seems to work(not sure)
data:
w_pack type p decimals 8 value '0.6027395',
w_rounded type p decimals 3.
CALL FUNCTION 'ROUND'
EXPORTING
DECIMALS = 3
input = w_pack
SIGN = '-'
IMPORTING
OUTPUT = w_rounded
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:w_rounded.
2007 Apr 17 5:10 PM
It works -:D Nice <b>Rajesh</b>, didn't knew that function -:P
Greetings,
Blag.
2007 Apr 17 5:15 PM
2007 Apr 17 5:24 PM
Hi ,
A bit of math would do it as well.
v_num1 = v_num * 1000.
v_num2 = floor( v_num1 ).
v_num = v_num2 / 1000.
Regards,
Ravi
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |