Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Maxat  Cumayev
Maxat Cumayev
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
1 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler: (long) 20:24:27 birisi digits format formata ifadeleri islerden placeholder sayilar sayilari sortable string tipindeki yaptigimiz C# / VC#/.NET Maxat Cumayev
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Orta
Kategori : C# / VC#/.NET
Yayınlanma Tarihi : 17.4.2005
Okunma Sayısı : 134691
Yorum Sayısı : 2     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 19.4.2024
Turhal Temizer
Mac OS/X Removing CUDA 19.4.2024
Burak Selim Şenyurt
Kurumsal Yazılımcının Oyun Geliştirme ile İmtihanı 19.4.2024
Burak Selim Şenyurt
Matematik ve Oyun Programlama - Missile Command - Final 19.4.2024
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
String.Format Fonksiyonu
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Programlarımızda sık yaptığımız işlerden birisi de sayıları veya string tipindeki ifadeleri belli bir formata göre yazdırmaktır. Mesela, Ürün fiyatının binler basamakları nokta ile ayrılması ve virgülden sonra sadece iki rakamın gösterilmesinin sağlanması gibi. Bu makalemizde, bu ve benzer isteklerimizi karşılayan string.format fonksiyonunu inceleyeceğiz.

Genel olarak:

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



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

Kaynaklar : http://www.stevex.org/, MSDN Library.

Maxat Cumayev
[email protected]
 

Makale:
String.Format Fonksiyonu C#, Visual C# ve .NET Maxat Cumayev
  • Yazılan Yorumlar
  • Yorum Yaz
MAR
24
2008
Teşekkür ederim bu bilgiler için ama ben {0:c} yazdığımda YTL yerine TL yazıyor bunu nasıl düzelticez...
ŞUB
24
2006
Bilgilerinizi paylaştığınız için size teşekkürler. Gerçekten bu bilgi bana çok yardımcı oldu.
Sayfalar : 1 
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor