Zahlen mit deutschem Tausender Trenner formatieren

Startseite Foren Deutsches LiveCode-Forum Zahlen mit deutschem Tausender Trenner formatieren

Ansicht von 1 Antwort-Thema
  • Autor
    Beiträge
    • #5167
      AnHa
      Teilnehmer

      Hallo LCler,

      bitte helft mir doch nochmal :o)

      Wie kann man Zahlen mit deutschem Tausender Trennner (Punkt)
      formatieren und in einem Field ausgeben lassen.

      DANKE vorab.

      Gruß

      Andreas

    • #5169
      Klaus Major
      Verwalter

      Hi Andreas,

      ich habe dafür diese kleine Funktion geschrieben.

      Hinweis:
      Funktioniert so, wie sie ist, nur mit Zahlen mit durch KOMMA getrennte Nachkommestellen

      function tausender_trenner tZahl
         ## Das hier liefern wir am Schluss zurück
         put empty into zahlMitTausenderTrenner
         
         ## Hat die Zahl Nachkommastellen?
         ## Dann müssen wir uns die merken, denn wir arbeiten nur mit den ganzen Zahlen VOR dem Komma
         put FALSE into nachkommastellen
         set itemdel to ","
         if the num of items of tZahl = 2 then
            put TRUE into nachkommastellen
            put item 2 of tZahl into dieNachkommastelle
            put item 1 of tZahl into tZahl
         end if
         
         ## Nun ganz so, wie man es mit einem Stück Papier, Stift,
         ## Schere und Uhu machen würde!
         repeat 
            
            ## wir fangen hinten mit den letzten drei Ziffern an:
            put char -3 to -1 of tZahl into tTemp
            if the num of chars of tTemp < 3 then
               put tTemp before zahlMitTausenderTrenner
               exit repeat
            else
               
               ##Punkt hier einfügen
               put "." & tTemp before zahlMitTausenderTrenner
            end if
            
            ## Nun die bereits bearbeiteten Ziffern löschen
            delete char -3 to -1 of tZahl
         end repeat
         
         ## Vielleicht haben wir vorn einen Punkt, den brauchen wir aber nciht
         if char 1 of zahlMitTausenderTrenner = "." then
            delete char 1 of zahlMitTausenderTrenner 
         end if
         
         ## Nachkommastellen? Dann wieder hinten drankleben
         if nachkommastellen then
            put "," & dieNachkommastelle AFTER zahlMitTausenderTrenner
         end if
         return zahlMitTausenderTrenner
      end tausender_trenner

      🙂

Ansicht von 1 Antwort-Thema
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.