Rôzne možnosti zobrazenia textu, čísel, dátumu alebo meny v jazyku C#.
Metódy ako napr. Console.WriteLine alebo String.Format slúžiace na výpis a formátovanie reťazcov poskytujú užitočné vlastnosti. Pri uvedení jednoduchého príkladu
int chlapci = 15;
int dievcata= 20;
Console.WriteLine("Pocet chlapcov: {0} Pocet dievcat: {1}", chlapci, dievcata);
je vidno, že hodnoty premenných sú vypísané na mieste zložených zátvoriek s indexom, ktorý určuje poradové číslo premennej. To isté umožňuje metóda String.Format, ktorú v nasledujúcom kóde použijeme pri výpise reťazca do SubItemu v ListView (obrázky pod zdrojovými kódomi majú len informatívny charakter)
int ucet = 60000;
item.SubItems.Add(String.Format("{0}", ucet));
Tu nastáva menší problém s formátom vypísanej hodnoty, ktorá je na prvý pohľad zle čitateľná. Lepšie by bolo, ak by táto hodnota bola rozdelená po troch cifrách čím by sa zlepšil vzhľad aj čitateľnosť
int ucet = 60000;
item.SubItems.Add(String.Format("{0:n0}", ucet));
Tým že sa v zložených zátvorkách za indexom premennej pridal špecifikátor ":n0" sme určili formát výpisu hodnoty premennej v ListView a výsledok je prijateľnejši ako v prvom prípade. Pri spätnej konverzii z upraveného formátu (60 000) na pôvodný sled čísel (60000) je hodnota oddelená na tisícky braná ako string, nie ako číslo. Preto sa táto hodnota premieňa späť na číslo pomocou metódy Parse.
String myString = "60 000";
Console.WriteLine(myString);
int x = int.Parse(myString, System.Globalization.NumberStyles.AllowThousands);
Console.WriteLine(x);
Samozrejme C# obsahuje celú sadu rôznych formátov zobrazenia. Niektoré z nich sú uvedené nižšie v tabuľkách.Špecifikátor | Popis | Formát | Vstup | Výstup |
c | mena (peniaze) | {0:c} | 500 | 500,00 SK |
d | Celé číslo | {0:d} | 500 | 500 |
e | Vedecké číslo | {0:e} | 500 | 5,000000e+002 |
f | Pevná rádová bodka | {0:f} | 500 | 500,00 |
g | Všeobecný formát | {0:g} | 500 | 500 |
n | Číslo s medzerami (alebo čiarkami) po tisícoch | {0:n} | 50000 | 50 000,00 |
r | Round trippable | {0:r} | 3,14 | 3,14 |
x | Hexadecimálna hodnota | {0:x4} | 500 | 1F4 |
C# taktiež podporuje vytváranie vlastných formátovaní.
Špecifikátor | Popis | Formát | Vstup | Výstup |
0 | Vyplňuje nulami | {0:00.0000} | 3,14 | 03,1400 |
# | Uzatvorí číslo | {0:(#).##} | 3,14 | (3),14 |
. | Desatinná bodka so zaokrúhlením | {0:0.0} | 3,14 | 3,1 |
, | Oddeľovač tisíciek | {0:0,0} | 50000 | 50 000 |
,. | Zmena veľkosti čísla | {0:0,.} | 50000 | 50 |
% | Percento | {0:0%} | 3,14 | 314% |
e | Exponent | {0:00e+0} | 3,14 | 31e-1 |
Uvedené tabuľky neobsahujú všetky podporované formátovacie znaky a možnosti. Doplňujúce informácie:
Zložené formátovanie
Štandardné formátovanie čísel
Vlastné formátovanie čísel
Štandardné formátovanie dátumu a času
Vlastné formátovanie dátumu a času