String mit variabler Breite formatieren

08/03/2008 - 13:30 von Rasmus Debitsch | Report spam
Hallo,

ich suche eine Möglichkeit Strings mit variablen Feldbreiten zu formatieren.
In C geht das etwa so:
printf("%*.*f", 10, 2, 123.45678);
Es wird eine Zahl mit zwei Nachkommastellen und einer Feldbreite von 10
Zeichen ausgegeben.
In der Hilfe für C# String.Format finde ich keine Möglichkeit, das zu
erreichen. Geht das irgendwie?

Rasmus
 

Lesen sie die antworten

#1 Marvin Massih
08/03/2008 - 17:17 | Warnen spam
Hallo Rasmus,

Rasmus Debitsch schrieb:
ich suche eine Möglichkeit Strings mit variablen Feldbreiten zu formatieren.
In C geht das etwa so:
printf("%*.*f", 10, 2, 123.45678);
Es wird eine Zahl mit zwei Nachkommastellen und einer Feldbreite von 10
Zeichen ausgegeben.



Spontan denke ich, dass es nur so geht (ungetestet):

void WriteSpecial( int width, int decimals, decimal value )
{
StringBuilder format = new StringBuilder( "{0:" );
format.Append( 0, width );
format.Append( '.' );
format.Append( 0, decimals );
format.Append( '}' );
Console.WriteLine( format.ToString( ), value );
}

Gruß
Marvin

Ähnliche fragen