Announcement

Collapse
No announcement yet.

Zahlenformat

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

  • Zahlenformat

    Hallo zusammen,

    eine ziemlich doofe Frage mal wieder von mir !!

    Wie bekomme ich eine Zahl formatiert ??

    Von 100.23 zu 100,23 !!

    Vielen Dank im voraus

    Stefan

  • #2
    Wenn Du die Zahl als String ausgeben möchtest, kannst Du die auf folgende weise tun:
    <p>
    <pre>
    int zahl = 100.23;
    string ausgabe = zahl.ToString().Replace(".", ",");
    </pre>
    <p>
    Wenn Du die Zahl kulturabhängig (zB. englisch = ".", deutsch = ",") ausgeben willst, dann nutze eine überladene Version von ToString(), bei der Du die Kulturinformationen angeben kannst.
    <p>
    <pre>
    zahl.ToString(System.Globalization.NumberFormatInf o.CurrentInfo)
    </pre>
    <p>
    Dann benötigst Du auch die Replace()-Methode nicht mehr.
    <p>
    Gruß, Christop

    Comment


    • #3
      Hallo,

      danke ersteinaml für deine Antwort, aber die erste Lösung hab ich auch schon "entdeckt", aber es ist halt ein String mit dem man nicht rechnen kann.

      Und den String danach wieder in eien Zahl zu parsen..... halt ich nicht für elegant.

      Ich denke es muss doch eine einfachere Möglichkeit geben ??

      Bis dann

      Stefa

      Comment


      • #4
        <B>int zahl = 100.23;</B>

        Komische Integerzahl! *gg*

        @Stefan: Wenn du die Zahl vorher im falschen Format hast, dann muss das doch auch schon ein String sein?! Oder stehe ich gerade auf der Leitung?

        Gruß, Bern

        Comment


        • #5
          ich kann mich Bernd nur anschließen: Irgendetwas steht auf irgendeiner Leitung...

          Wenn Du Zahlen als Strings abbildest, mußt Du natürlich auch wieder zurückwandeln. Aber normalerweise konvertiert man eine Zahl zur Laufzeit in einen String, immer dann wenn man ihn ausgeben möchte. Beispiel in C++:
          <PRE>
          float fzahl1 = 123.45;
          float fzahl2 = 234.56;
          Memo1->Lines->Add(AnsiString(fzahl1) + " + " + AnsiString(fzahl2) + " = " AnsiString(fzahl1 + fzahl2));
          </PRE>
          In dem Memo steht dann:
          123,45 + 234,56 = 358,01

          Grüße Joche

          Comment

          Working...
          X