Announcement

Collapse
No announcement yet.

doubles mit Punkt oder Komma

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

  • doubles mit Punkt oder Komma

    Hallo,

    habe folgendes Problem: Wenn ich einen double mittels Convert.ToString in einen String umwandle enthält dieser das Komma. Das ist normalerweise auch erwünscht, aber in einem Fall benötige ich einen Punkt, da ich den String als Eingabeparameter für GnuPlot benutze. Wie komme ich am einfachsten zu einer Darstellung mit Punkt, ohne gleich das Gebietsschema zu wechseln ?

    Gruß
    Horst

  • #2
    Hallo,
    dazu muss die überladene Fassung der Methode <b>Convert</b> verwendet werden, die eine <b>NumberFormatInfo</b>-Definition verwendet. Die Eigenschaft <b>NumberDecimalSeparator</b> legt das gewünschte Aussehen fest.
    <code>
    System.Globalization.NumberFormatInfo aNFI;
    aNFI = (System.Globalization.NumberFormatInfo)System.Glob alization.NumberFormatInfo.CurrentInfo.Clone();
    aNFI.NumberDecimalSeparator = <font color="#9933CC">&quot;.&quot;</font>;
    <b>Double</b> dValue = 25125.75;
    <b>string</b> sTest = Convert.ToString(dValue, aNFI);
    MessageBox.Show(sTest);
    </code&gt

    Comment


    • #3
      Danke, so eine *schöne*, sprachangemessene Lösung für mein Problem suchte ich. Habe mir bisher durch ein "Nachbearbeiten" des Strings mittel Replace beholfen.

      Gruß
      Hors

      Comment


      • #4
        Hallo Herr Kosch und die anderen Diskssionsteilnehmer!
        Ich quäle mich jetzt seit einigen Monaten (-den) mit C#.
        Dieses und auch andere Beispiele (Binäroperationen - in diesem Forum) zeigen, dass C# nichts für Bitpfriemler ist.
        Leider werden in Zukunft die Alternativen immer dünner gesät sein.
        Jemand der sich wie ich mit Prozessvisualisierung und Parametrierung beschäftigt und auf eine möglichst enge Kopplung an den Prozessrechner angewiesen ist bekommt hier ein Problem nach dem anderen serviert, an das er früher nie gedacht hätte.
        C# und .Net sind offensichtlich nur etwas für die Datenbänker!

        Gruss

        Manfred Flum

        Comment


        • #5
          Hallo,
          mit dem richtigen Tip von Herrn Kosch versehen, mache ich es jetzt so:

          static NumberFormatInfo nfi = new CultureInfo("en-US", false).NumberFormat;

          Überall wo ich einen Punkt als Dezimalseperator benötige:

          Convert.ToString(data, nfi);

          Gruß
          Hors

          Comment

          Working...
          X