| 

.NET C# Java Javascript Exception

5
Hallo Leute,

ich möchte eine Dezimalzahl bestimmter Ausprägung auf zwei Stellen nach dem Komma gerundet mit einem Punkt für Tausender-Trennzeichen als String darstellen. Die Dezimalzahl kann Werte im Bereich 0,000000000 bis 100000000,000000000 haben. ToString("#,#.00") lässt die führende Null aus sobald die Zahl kleiner 1 ist und ToString("0,0.00") zeigt 2 führende Nullen an. Wie müsste der Formatstring aussehen, damit ich die gewünschte Formatierung bekomme?
News:
26.05.2014
777Silas777 33 1 3
3 Antworten
3
Hallo 777Silas777,
hier ein kleines Beispiel. Es geht auch kürzer, aber so ist es etwas anschaulicher.

public class Program
{
public static void Main(string[] args)
{
double zahl1 = 0.345678912;
double zahl2 = 100000000.345678912;

string zahl1AlsString = string.Format("{0:n}", zahl1);
string zahl2AlsString = string.Format("{0:n}", zahl2);

Console.WriteLine(zahl1AlsString);
Console.WriteLine(zahl2AlsString);

Console.ReadKey();
}
}

Ergebnis:
0,35
100.000.000,35

Hier findest du viele Beispiele.
27.05.2014
Saarzilla 121 3
Danke, genau das wars wonach ich gesucht habe.
777Silas777 27.05.2014
1
Was soll denn ""#,#.00" sein? .00 ist die Nachkommastelle. Aber #,# ist doch nichts :)
Entweder #,###.00 um korrekt mit Tausender-Trennzeichen darzustellen, oder #,##0.00 um Tausender mit mind. einer führenden Null. Das wäre dann vermutlich das, was Du suchst.

Bzw. #.##0,00 in der deutschen Schreibweise, oder nur 0,00 in der Kurzform ohne Tausender-Punkt.
27.05.2014
Jens Duczmal 2,6k 1 3 9
Jens Duczmal 2,6k 1 3 9
0
In der Online-Hilfe zur String.Format() Methode findest du ausführliche Informationen, wie die Format-Strings aufgebaut sind und welche Möglichkeiten der Formatierung du hast. Für dein konkretes Problem hat Jens schon die korrekte Antwort geliefert.
27.05.2014
luedi 2,1k 1 9

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH