exponentialzahl umwandeln

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

exponentialzahl umwandeln

Beitrag von SaskuAc (Specialist / 321 / 37 / 44 ) »
Hallo,

beim auslesen einer Excel-Datei bekomme ich leider hin und wieder eine exponentialzahl.
Aktuell schmeiße ich die Zeilen mit der Zahl einfach aus der Verarbeitung raus ... Nun hätte ich gerne einen Workaround..

Gibt es vielleicht eine Möglichkeit eine exponentialzahl in decimal oder generell umzuwandeln?

Danke euch.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: exponentialzahl umwandeln

Beitrag von ralf.wenzel (Top Expert / 3961 / 204 / 281 ) »
Das hat mich doch neulich schon wer gefragt.... Dem hab ich den Tipp 'MURC_ROUND_FLOAT_TO_PACKED'' gegeben.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: exponentialzahl umwandeln

Beitrag von SaskuAc (Specialist / 321 / 37 / 44 ) »
okay.. hilft mir leider bisher nicht weiter. gibt mir 0 zurück:

Eckige klammern werden leider nicht richtig dargestellt .. also nicht wundern..

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
  .

Re: exponentialzahl umwandeln

Beitrag von SaskuAc (Specialist / 321 / 37 / 44 ) »
Habe jetzt die Lösung... echt dämlich ..

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.

Seite 1 von 1

Vergleichbare Themen

5
Antw.
4502
Views
integer in '*' umwandeln
von boogey » 02.05.2010 15:57 • Verfasst in ABAP® für Anfänger
11
Antw.
5451
Views
BAPI umwandeln
von SaskuAc » 16.12.2016 11:15 • Verfasst in ABAP® für Anfänger
10
Antw.
8483
Views
Umwandeln SAPOffice URL in PDF
von Lucyalison » 08.02.2018 16:39 • Verfasst in ABAP® Core
9
Antw.
20495
Views
Zeit in UTC umwandeln
von Bright4.5 » 26.08.2025 10:24 • Verfasst in ABAP® für Anfänger
1
Antw.
1777
Views
Liste zu ALV umwandeln
von managero » 06.06.2008 10:31 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Berechtigungsprüfung
vor 2 Tagen von rob_abc 6 / 10373
Funktionscode vom Zurückbutton abfangen
vor einer Woche von JMalgus gelöst 2 / 9661
Ablage von Spoolaufträgen als Original im DMS
vor einer Woche von Thomas R. gelöst 8 / 10909

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.