Ich möchte ein Komma an der Tausenderstelle für eine Zahl hinzufügen.
Würde String.Format()
der richtige Weg sein? Welches Format würde ich verwenden?
Ich möchte ein Komma an der Tausenderstelle für eine Zahl hinzufügen.
Würde String.Format()
der richtige Weg sein? Welches Format würde ich verwenden?
Wie kann ich den "N"-Platzhalter replizieren, jedoch mit so vielen Dezimalstellen wie in der Nummer vorhanden sind?
@Justin: Laut msdn.microsoft.com/en-us/library/0c899ak8.aspx werden ',' (und '.') durch die korrekten lokalisierten Zeichen ersetzt.
Kurz und einfach zu lesen, aber die Ganzzahl wird in einer Box angezeigt, wenn sie als Argument übergeben wird. Ich bevorzuge die Antwort von @alchemical darauf.
Sie können es auch mit string.Format verwenden, wie in string.Format("Hier ist eine Zahl mit Kommas und ohne Dezimalstellen, {0:N0}", 123456789(;
Sollte es nicht meinInteger.ToString("N0") sein ... string.tostring würde meiner Meinung nach nicht funktionieren.
Ich weiß, es sind jetzt 5 Jahre vergangen, aber danke! Das funktioniert für Zahlen mit mehr als 4 Zeichen und mit weniger als 4 Zeichen.
Diese Lösung ist aus internationaler Sicht nicht gut - andere Kulturen verwenden als Tausendertrennzeichen andere Zeichen als ,
, zum Beispiel ein Leerzeichen oder sogar .
.
Funktioniert danke + 1. Habe erweitert, so dass es bis zu 2 Dezimalstellen anzeigt. number.ToString("#,##0.##")
@Justin Das ist wahr, aber manchmal sind die Anforderungen dumm, und Anforderungen sind Anforderungen. :) Terrapins Methode wäre überlegen, wenn genügend Flexibilität gegeben wäre, wie du bereits festgestellt hast.
Wenn Sie kulturspezifisch sein möchten, könnten Sie dies versuchen:
Verwenden Sie den Namespace: "using System.Globalization;"
(19950000.0).ToString("N",new CultureInfo("en-US"))
= 19,950,000.00
(19950000.0).ToString("N",new CultureInfo("is-IS"))
= 19.950.000,00
Indische Kultur: (19950000.0).ToString("N",new CultureInfo("hi-IN"))
\= 1,99,50,000.00
Hinweis: Einige Kulturen verwenden ,
um das Dezimalzeichen anstelle von .
zu bedeuten, also seien Sie vorsichtig.
Standardformate mit ihren entsprechenden Ausgaben,
Console.WriteLine("Standard Numerische Formatbezeichner");
String s = String.Format("(C) Währung: . . . . . . . . {0:C}\n" +
"(D) Dezimal:. . . . . . . . . {0:D}\n" +
"(E) Wissenschaftlich: . . . . . . . {1:E}\n" +
"(F) Festkommazahl:. . . . . . . {1:F}\n" +
"(G) Allgemein:. . . . . . . . . {0:G}\n" +
" (Standard):. . . . . . . . {0} (Standard = 'G')\n" +
"(N) Nummer: . . . . . . . . . {0:N}\n" +
"(P) Prozent:. . . . . . . . . {1:P}\n" +
"(R) Round-trip: . . . . . . . {1:R}\n" +
"(X) Hexadezimal:. . . . . . . {0:X}\n",
- 1234, -1234.565F);
Console.WriteLine(s);
Beispieloutput (en-us Kultur):
(C) Währung: . . . . . . . . ($1,234.00)
(D) Dezimal:. . . . . . . . . -1234
(E) Wissenschaftlich: . . . . . . . -1.234565E+003
(F) Festkommazahl:. . . . . . . -1234.57
(G) Allgemein:. . . . . . . . . -1234
(Standard):. . . . .
Diese Antwort enthielt viele nützliche Informationen. Durch das Beispiellernen sehe ich jetzt, was die 0 und die 1 im Zeichenformat bedeuten.
Die einzige Frage, die ich habe, ist, wenn die angegebene Zahl negativ ist, warum ist die Währung positiv?
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.