Code: Alles auswählen.
* lt_test[ 1 ']-e ist in diesem Fall 5,34143518518519E-02
DATA lv_temp TYPE f.
DATA lv_test TYPE p.
data lv_temp2 type string.
lv_temp2 = lt_test[ 1 ]-e.
replace all OCCURRENCES OF ',' in lv_temp2 with '.'.
lv_temp = lv_temp2.
CALL FUNCTION 'MURC_ROUND_FLOAT_TO_PACKED'
EXPORTING
if_float = lv_temp
* if_significant_places = 15
IMPORTING
ef_packed = lv_test
* EXCEPTIONS
* overflow = 1
* others = 2
.
Code: Alles auswählen.
" <fs_uzeit> ist ein String mit der exponentialzahl
" lv_uzeit ist type syuzeit
" lv_temp type f
" lv_temp2 type p decimals 14 length 15 - ohne die decimals und length angabe schmeißt er mich raus ohne eine klare meldung was hier genau der Fehler ist
TRY.
IF <fs_uzeit> IS ASSIGNED.
REPLACE ALL OCCURRENCES OF ',' IN <fs_uzeit> WITH '.'.
lv_uzeit = <fs_uzeit> * 24 * 60 * 60.
ls_sptra-uzeit = lv_uzeit.
ENDIF.
CATCH cx_sy_conversion_no_number.
TRY.
lv_temp = <fs_uzeit>.
lv_temp2 = lv_temp * 24 * 60 * 60.
ls_sptra-uzeit = lv_temp2.
CATCH cx_sy_conversion_overflow.
ASSIGN COMPONENT ms_sp_mapping-sp_numbr OF STRUCTURE ls_excel TO FIELD-SYMBOL(<fs_numbr>).
mv_wrong_sprta = abap_true.
ENDTRY.
ENDTRY.