Ankündigung

Einklappen
Keine Ankündigung bisher.

stringformat

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Zitat von EPIX Beitrag anzeigen
    ich muss das uralt-Thema nochmals "ausgraben"...

    "Könnte" man da nicht irgendwie eine Stingformat-Funktion ...
    Das wäre wirklich schön, Werte so angezeigt zu bekommen, wie sie im deutschen und europäischen Raum überwiegend formatiert sind.

    Und bitte Beispiele im Handbuch! Zu oft muss mann den EibPC mehrmals flashen, um bei komplizierteren Formatierungen das gewünschte Ergebnis zu erzielen.

    Kommentar


      #17
      +dafür!

      Hab mir das mehr schlecht als recht als Makro gebastelt, wäre als Funktion aber sinnvoller
      ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

      Kommentar


        #18
        ich habe jetzt 80% meines Formatierungsmakros mit Skalierung, Tausenderpunktierung,Nachkommastellen durch stringformat() ersetzt:
        von Kompilier+Initzeit über 7 Minuten auf 4:30 reduziert, aber Komfortverlust beim Programmieren, weniger Übersichtlichkeit durch fehlenden 1000er Punkt....

        Als kurzfristige Abhilfe (bis ev. ja doch noch eine "professionelle" Lösung von @ENERTEX kommt) ein Minimakro - GERNE um Verbesserungen.

        Code:
        //---------------------------------------------------------------------------------------------------------
        // gibt Zahl als String mit Tausenderpunktierung und OHNE Nachkomma zurück
        // (c) HÖ 2026
        //---------------------------------------------------------------------------------------------------------
        :begin float2stringTausend(Value)
        :info $Umwandlung eines Zahlenwertes in String (c20) mit Tausenderpunkt $\\
            :$Value  beliebiges Zahlenformat oder String$\\
            $Rückgabe des Zahlenwertes als Funktionswert: Ergebnis = float2stringTausend(Value)$
        :var retVal@
        :var tmpVal@
        tmpVal@=convert(Value,0s32)
        retVal@=$0$c20
        
        if change(Value) then {
            if abs(tmpVal@)<1000s32 then {
                retVal@=stringformat(tmpVal@,0,3,2,2)
                }else{
                retVal@=stringformat(convert(tmpVal@,0f32)/1000f32,4,0,0,3)
                }endif
            }endif
        :return retVal@
        :end​
        ​
        Zuletzt geändert von EPIX; 16.03.2026, 11:19.
        EPIX
        ...und möge der Saft mit euch sein...
        Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

        Kommentar

        Lädt...
        X