Simple routine to convert exponential values to float
Dear all,
I was trying to get values in an ALV grid recently and I noticed that the values are displayed as exponential values which didn’t satisfy the client very much. So after a little research I found this function module that converted the exponential format to float format.
This form takes the exponential value in V_FLOAT variable converts it to the float value in V_CHAR P10_4 variable
FORM CONVERT CHANGING V_FLOAT V_CHAR P10_4.
IF V_FLOAT IS NOT INITIAL.
CALL FUNCTION ‘CEVA_CONVERT_FLOAT_TO_CHAR’
EXPORTING
FLOAT_IMP = V_FLOAT
FORMAT_IMP = P10_4
ROUND_IMP = ‘ ‘
IMPORTING
CHAR_EXP = V_CHAR.
ENDIF.
ENDFORM.
DATA: V_FLOAT TYPE F , V_CHAR(25), P10_41(10) TYPE P DECIMALS 3. “CONVERSION OF STRING TO FLOAT STRUCTURE.
V_FLOAT = VALUE_BEFORE_CONVERSION.
PERFORM CONVERT CHANGING V_FLOAT V_CHAR P10_41.
VALUE_AFTER_CONVERSION = V_CHAR.
Hope this simple routine is useful.
If you have any doubts, please don’t hesitate to ask.
Regards,
Mohammed Mohsen
On another thread I saw this which worked for me:
https://archive.sap.com/discussions/thread/3603763
By a previous member called Armin:
Hi,
the SET_EDIT_MASK method was very helpfull.
It took me some time to find out that lr_column->set_edit_mask( '==DEC2' ) means use function CONVERSATION_EXIT_DEC2_OUTPUT for converting the numbers.
Best regards
Armin
I found this really useful. I implemented it easily and it worked.
Before I applied the code:
I put in this code:
And I ended with this:
Worked really well.