Announcement

Collapse
No announcement yet.

Zahl ziffernweise als String ausgeben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zahl ziffernweise als String ausgeben

    Hallo Ihr Schlauen,

    ich benötige eine Prozedur, die mir eine Zahl einliest und ziffernweise in einen String umsetzt und als Komplettstring abspeichert. Das Ganze wird für das Scheckdrucken benötigt.
    Hier ein kurzes Beispiel: die Zahl 1283,67 wird umgewandelt in den String:
    eins zwei acht drei 67/100

    So schwer kann das doch nicht sein, oder???!!

    Grüße mit einem Fragezeichen versehen von

    Silvia

  • #2
    hi,

    habe ich das richtig verstanden du willst die zahlen in worte<br> umwandeln? werden die zahlen als string eingegeben?<br>

    dann würde ich folgendes vorschlagen:<br>

    if eingabe = '1' then eingabe := 'eins'; <br>
    if eingabe = '2' then eingabe := 'zwei'; usw. <br>

    eingabe ist ne variable vom typ string.

    gruß

    marku
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

    Comment


    • #3
      Hallo Markus,

      danke für die schnelle Reaktion!

      Also, die Zahl kommt als Float-Wert aus der DB. Ich denke mir das ungefähr so: Wandle die Zahl in einen String um. Lese den String solange bis das Zeichen',' kommt und baue einen neuen String zusammen. (Genau so wie Du es vorgeschlagen hast) Danach hänge das Komma an und dann die Nachkomma-Zeichen.

      Tja, so ungefähr stelle ich mir das vor...

      Alles klar??

      Nochmal Gruß

      Silvi

      Comment


      • #4
        also ne gleikommazahl in einen string umwandeln geht mit floattostr.
        ja, under der rest ist if-abfrage eben. case-abfrage geht auch!!

        gruß

        marku
        Herzliche Grüße

        Markus Lemcke
        barrierefreies Webdesign

        Comment


        • #5
          Hi

          <pre>

          function Convert(Value: Extended): String;
          const
          Zahl: array[0..9] of String =
          ('null', 'eins', 'zwei', 'drei', 'vier', 'fünf', 'sechs', 'sieben', 'acht', 'neun');
          var
          F,R: Extended;
          begin
          R := Abs(Value);
          Result := IntToStr(Round(Frac(R) * 100)) + '/100';
          repeat
          R := R / 10;
          F := Frac(R);
          Result := Zahl[Round(F * 10)] + ' ' + Result;
          R := R - F;
          until R = 0;
          if Value < 0 then Result := 'minus ' + Result;
          end;

          </pre>

          Gruß Hage

          Comment


          • #6
            tja, hagen ist halt der meister!
            Herzliche Grüße

            Markus Lemcke
            barrierefreies Webdesign

            Comment


            • #7
              Hallo Ihr Beiden!

              Herzlichen Dank für die schnelle Hilfe.
              Genau so habe ich mir das vorgestellt.
              Ich hätte das Problem zwar irgendwann auch gelöst , aber bestimmt nicht so elegant!!! ;-)

              Erleichterte Grüße

              Silvi

              Comment

              Working...
              X