Formátovanie reťazcov v C#
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Formátovanie reťazcov v C#Formátovanie reťazcov v C#

 

Formátovanie reťazcov v C#

Google       Google       17. 8. 2006       16 288×

Rôzne možnosti zobrazenia textu, čísel, dátumu alebo meny v jazyku C#.

Polia znakov a čísel, čiže reťazce, majú v C# rôzny druh zápisu a dajú sa ľahko formátovať podľa vlastných potrieb. Často sa pri vývoji môžeme stretnúť s problémom, napr. vypísať niekoľkomiestnu číselnú hodnotu tak, aby bola rozdelená po troch cifrách (10000000 -> 10 000 000). Riešenie tohto problému, ale aj mnohých iných sa bude nachádzať v tomto článku.

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

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
Autor je studentom FEI STU v Bratislave, odbor Aplikovana Informatika a vo svojom volnom case sa zaobera hlavne programovanim a rad sportuje.
Web    

Nové články

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý