C# String Metotlar – Format ()

Programlama esnasında bazı ifadeleri belirli bir biçim içerisinde yazmamız istenirse String.Format( ) metodu kullanılır.
Bu metot geriye string türünde bir veri döndürür.Örneğin metinsel ifadelerin belirli bir biçim içerisinde ekranda yazılmasını istiyorsak;
Yukarıdaki resmi incelediğimizde String.Format( ) metodunun kullanımında, küme parantezleri ( { } ) içerisindeki ilk değer, degisken isimli değişken içerisindeki değeri referans göstermektedir. İkinci değer ise değişkenin içeriğinin, ekranda kaç karakterlik alan kaplayacağını (Örn: Bu değer 5 ise ekranda 6 karakterlik, -7 ise 8 karakterlik yer kaplar) belirtir.
Bu değerin pozitif olması, değişken değerinin ayrılan alanının sağına hizalı olacağını, negatif olması ise soluna hizalı olacağını belirler.
Örnek :Sıra No, Adınız, Soyadınız şeklinde başlıkları olan ve içeriği dolu olan bir tablo hazırlayıp, ekrana yazdırınız.

Console.WriteLine(“——————————-”);
Console.WriteLine(“Sıra No | Adınız | Soyad”);
Console.WriteLine(“——————————-”);
Console.WriteLine(String.Format(“{0,7} | {1,-8} | {2,10}”, 1,
“Ali”, “AYDIN”));
Console.WriteLine(String.Format(“{0,7} | {1,-8} | {2,10}”, 2,
“Hasan”, “KOŞAN”));
Console.WriteLine(String.Format(“{0,7} | {1,-8} | {2,10}”, 3,
“Selim”, “KAÇAN”));
Console.WriteLine(“——————————-”);

Örneğin int türündeki sayısal ifadelerin belirli bir biçim içerisinde ekranda yazılmasını istiyorsak;

String.Format(“{0:00000}”, 15); // “00015″
String.Format(“{0,5}”, 15); // ” 15″

ifadesiyle 15 sayısı ekrana başına 3 adet boşluk eklenerek toplamda 5 karakterlik bir alana sağa hizalı olarak yazılır.
String.Format( ) metodunun sıfır ve negatif sayılar için özel formları vardır. Sayılar biçimlenirken kullanılan noktalı virgül (;) ile formatı 3 bölüme ayırırız. Buradaki ilk bölüm sayının değerini, ikinci bölüm negatif sayıların biçimini, üçüncü bölüm ise sıfırın ekrana nasıl yazılacağının biçimini belirlememize yardımcı olur.
String.Format(“{0:#;eksi #}”, 15); // “15″
String.Format(“{0:#;eksi #}”, -15); // “eksi 15″
String.Format(“{0:#;eksi #;Sıfır}”, 0); // “Sıfır”
Sayıları isteğe bağlı biçimlendirmek istersek (örneğin bir telefon numarasını
alan kodu ve telefon numarası ayrı ayrı yazılsın istiyorsak), biçimlendirme
işleminde diyez (#) işareti ile formatımızı belirleriz;
String.Format(“{0:### ## ##}”, 1234567); // 123 45 67
String.Format(“{0:(#) ###-##-##}”, 12345678); //(1) 234-56-78
ifadesiyle 15 sayısı ekrana başına 3 adet 0 eklenerek toplamda 5 karakter olarak yazılır.

Örneğin tarih/saat türündeki ifadelerin belirli bir biçim içerisinde ekranda yazılmasını istiyorsak;

Tarih/Zaman ifadelerini belirtmek için önceden belirlenmiş bazı anahtar harfler vardır.

Bunlar;

y: Yıl,M: Ay, d: Gün,

h: 12’lik sistemde saat, H: 24’lük sistemde saat m: Dakika

s: Saniye f: Salise z: Zaman dilimi

Örnek : 14.02.2006 18:05:07.123 zamanına ait değerlerin gösterimleri şu şekilde sağlanır;

DateTime dt = new DateTime(2006, 2, 3, 18, 5, 7, 123);
 
Console.WriteLine(“Tarih:”+dt);
 
Console.WriteLine(“————————-”);
 
Console.WriteLine(“Yıl gösterimleri:
 
“+String.Format(“{0:y yy yyy yyyy}”, dt));
 
Console.WriteLine(“Ay gösterimleri: ” +
 
String.Format(“{0:M MM MMM MMMM}”, dt));
 
Console.WriteLine(“Gün gösterimleri: ” +
 
String.Format(“{0:d dd ddd dddd}”, dt));
 
Console.WriteLine(“Saat gösterimleri: ” +
 
String.Format(“{0:h hh H HH}”, dt));
 
Console.WriteLine(“Dakika gösterimleri: ” +String.Format(“{0:m mm}”, dt));
 
Console.WriteLine(“Saniye gösterimleri: ” +String.Format(“{0:s ss}”, dt));
 
Console.WriteLine(“Salise gösterimleri: ” +String.Format(“{0:f ff fff ffff}”, dt));
 
Console.WriteLine(“Zaman dilimi gösterimleri: ” +String.Format(“{0:z zz zzz}”, dt));

 

 

Paylaştıkça Artan Tat...