Feedback

C# - Zahlen in beliebiger Schriftart untereinander anordnen

Veröffentlicht von am 25.11.2015
(1 Bewertungen)
Zahlen in Umgebungen mit Fixed-Width/Monospace-Fonts untereinander anzuordnen ist mit Formatbezeichnern recht einfach, aber bei Proportionalschriftarten, wie System.Drawing.SystemFonts.DefaultFont ist das etwas schwieriger. Abhilfe schaffen hier sogenannte figure spaces (http://wikipedia.org/wiki/Figure_space), Leerzeichen, die so breit wie eine Ziffer sind.
int bigNumber = 1234;
int smallNumber = 5;

string bigNumberString = bigNumber.ToString();
string smallNumberString = smallNumber.ToString();

// Bei Monospace-Fonts
textBox1.Text = string.Format("{0,4}\n{1,4}",
    bigNumberString,
    smallNumberString);

// Bei beliebigen Schriftarten
textBox1.Text = string.Format("{0}\n{1}",
    bigNumberString,
    smallNumberString.PadLeft(bigNumberString.Length, '\u2007'));

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!