String yenistring= String.Format(“Birim Fiyatı : {0}”,fiyat);

Burada {0} ifadesiyle, ifadenin yerine fiyat isimli değişkenin geleceğini belirtiyoruz. Bu şekilde birden fazla da değişken tanımlaması yapabiliriz, ancak burada değişkene hiçbir format uygulamadık. Sadece indeks {0} da yazılabildiği gibi, aşağıdaki gibi köşeli parantezlerin içersindeki opsiyonel olan parametrelerde alabilir.

{ index[,alignment][:formatString]}

alignment : hizalama + veya – tamsayı değerlerini alabilir, + sağa dayalı, - ise sola dayalı sıralanmasını sağlar. Örneğin;

String.Format("> {1,10}< ”, “Sağa”);
Çıktısı: > Hello< String.Format(">{1,-10} <”, “Sola”);
Çıktısı: >Hello <

:formatstring : format katarı

Dikkat ederseniz alignment virgül(,) ile ayrılırken, formatstring'i üst-üste iki nokta(:) ile ayırıyoruz. Formatstring parametresi değişkenlerin belirli bir formatta gösterilmesini sağlamaktadır. Örneklere bakacak olursak kullanım biçimi kolayca anlaşılabilir.

Basit Format:

Belirteç İsmi Format Örnek 1(double 2.25 için) Örnek 2 (int 22500 için)
C veya c Currency {0:c} 2,25 YTL 22.500,00 YTL
D veya d Decimal {0:d} Hata 22500
E veya e Exponential {0:e} 2,250000e+000 2.250000e+004
F veya f Fixed-point {0:f} 2,25 22500,00
G veya g General {0:g} 2,25 22500
N veya n Number {0:n} 2,25 22.500,00
P veya p Percent {0:p} %225,00 %2.250.000,00
R veya r Round-Trip {0:r} 2,25 Hata
X veya x Hexadecimal {0:x} Hata 57e4

Örnek

VB C#
Dim girdi as Double
Dim cikti as String
girdi=2.25
cikti=String.Format(“{0:c}”,girdi)Sonuç ------------------------------Cikti=2,25 YTL
double girdi;
string cikti;
girdi=2.25;
cikti=String.Format(“{0:c}”,girdi);Sonuç ------------------------------Cikti=2,25 YTL

Özel Format:

Belirteç İsmi Format Örnek1(1200.35 için)
0 Zero placeholder {0:00.0000} 1200,3500
# Digit placeholder {0:(#).##} (1200),35
. Decimal point {0:0.0} 1200,4
, Thousand separator {0:0,0} 1.200
,. Number scaling {0:0,.} 1
% Percent {0:0%} 120035%
e Exponent placeholder {0:00e+0} 12e+2

Örnek

VB C#
Dim girdi as Double
Dim cikti as String
girdi=1200.35
cikti=String.Format(“{0:(#).##}”,girdi)Sonuç ------------------------------Cikti=(1200),35
double girdi;
string cikti;
girdi=1200.35;
cikti=String.Format(“{0:(#).##}”,girdi);Sonuç ------------------------------Cikti=(1200),35

Tarih Formatlama

Belirteç isim Örnek(DateTime.Now() için)
d Short date 01.04.2005
D Long date 01 nisan 2005 Cuma
t Short time 20:24
T Long time 20:24:27
f Full date & time 01 Nisan 2005 Cuma 20:24
F Full date & time (long) 01 Nisan 2005 Cuma 20:24:27
g Default date & time 01.04.2005 20:24
G Default date & time (long) 01.04.2005 20:24:27
M Month day pattern 01 Nisan
r RFC1123 date string Fri, 01 Apr 2005 20:24:27 GMT
s Sortable date string 2005-04-01 20:24:27
u Universal sortable, local time 2005-04-01 T20:24:27Z
U Universal sortable, GMT 01 Nisan 2005 Cuma 17:24:27
Y Year month pattern Nisan 2005

Örnek

VB C#
Dim girdi as DateTime
Dim cikti as String
girdi = DateTime.Now()
cikti=String.Format(“{0:M}”,girdi)Sonuç ------------------------------Cikti=01 Nisan
DateTime girdi;
string cikti;
girdi = DateTime.Now;
cikti=String.Format(“{0:M}”,girdi);Sonuç ------------------------------Cikti=01 Nisan

Özel Tarih Formatlama

Belirteç İsmi Örnek Örnek Çıktısı
dd Day {0:dd} 01
ddd Day Name {0:ddd} Cum
dddd Full Day Name {0:dddd} Cuma
f, ff, ... Second fractions {0:fff} 531
gg, ... Era {0:gg} A.D.
hh 2 dgit hour {0:hh} 08
HH 2 digit hour(24 Hour) {0:HH} 20
mm Minute 00-59 {0:mm} 53
MM Minute 01-12 {0:MM} 04
MMM Month abbreviation {0:MMM} Nis
MMMM Full month name {0:MMMM} Nisan
ss Seconds 00-59 {0:ss} 56
tt AM or PM {0:tt} *
yy Year, 2 digits {0:yy} 05
yyyy Year {0:yyyy} 2005
zz Timezone offset, 2 digits {0:zz} +03
zzz Full timezone offset {0:zzz} +03:00
: Separator {0:hh:mm:ss} 08:53:56
/ Separator {0:dd/MM/yyyy} 01/04/2005

Örnek

VB C#
Dim girdi as DateTime
Dim cikti as String
girdi = DateTime.Now()
cikti=String.Format(“{0:ddd}”,girdi)Sonuç ---------------------------Cikti=Cum
DateTime girdi;
string cikti;
girdi = DateTime.Now;
cikti=String.Format(“{0:ddd}”,girdi);Sonuç ---------------------------Cikti=Cum

* Dil olarak İngilizce ayarlanmışsa PM/AM değerlerini göstermektedir, Türkçe ise boş dönmektedir.

Ekstra Örnek1:

String.Format("{0:#,###.00;-#,###.00;0}", değer);

Burada ilk format pozitif sayılar için, ikinci format negatif sayılar ve son format da 0(sıfır) girildiğinde uygulanır; değerin veri türü double' dır.

Girdi: 12050.230 Çıktı: 12,050.23
Girdi: -12050.230 Çıktı: -12,050.23
Girdi: 0 Çıktı: 0

Ekstra Örnek2:

String.Format("{0:(###) ###-####}", 8005551212);
Çıktı : (800) 555-1212

NOT: Formatlamada formatlama yapacağımız veri türü önemlidir, mesela sayı formatlarında double veya int, tarih için datetime, metin için ise string türünde değişkenlerinin girilmesi gerekir.

Formatlama hakkında daha detaylı bilgi için http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconFormattingOverview.asp?frame=true
String.Format("{0:0,0}", sonuc)

Yorum Yaz

Yorumlarınız denetimden geçtikten sonra yayınlanmaktadır...