DEV Community

Vebende Akademi
Vebende Akademi

Posted on

Python'da int, float ve Decimal Formatlı Yazdırma Rehberi

Python'da int, float ve Decimal Formatlı Yazdırma Rehberi

Python'da sayısal verileri ekrana yazdırırken doğru formatlama yapmak oldukça önemlidir. Özellikle finansal uygulamalarda, raporlarda, veri analizlerinde ve kullanıcıya gösterilen çıktılarda sayıların okunabilir olması gerekir.

Bu çalışmada:

  • int (tam sayı)
  • float (ondalıklı sayı)
  • Decimal (yüksek hassasiyetli ondalıklı sayı)

tiplerinin nasıl formatlanacağını öğreneceğiz.


1. Integer (int) Formatlama

Temel Yazdırma

yas = 42

print(yas)
Enter fullscreen mode Exit fullscreen mode

Çıktı:

42
Enter fullscreen mode Exit fullscreen mode

Binlik Ayraç Kullanma

nufus = 85327641

print(f"{nufus:,}")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

85,327,641
Enter fullscreen mode Exit fullscreen mode

Boşluk Doldurma

id_no = 125

print(f"{id_no:08}")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

00000125
Enter fullscreen mode Exit fullscreen mode

Sağa Hizalama

sayi = 125

print(f"|{sayi:10}|")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

|       125|
Enter fullscreen mode Exit fullscreen mode

Sola Hizalama

print(f"|{sayi:<10}|")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

|125       |
Enter fullscreen mode Exit fullscreen mode

Ortaya Hizalama

print(f"|{sayi:^10}|")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

|   125    |
Enter fullscreen mode Exit fullscreen mode

2. Float Formatlama

Temel Kullanım

fiyat = 123.456789

print(fiyat)
Enter fullscreen mode Exit fullscreen mode

Çıktı:

123.456789
Enter fullscreen mode Exit fullscreen mode

Virgülden Sonra 2 Basamak

fiyat = 123.456789

print(f"{fiyat:.2f}")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

123.46
Enter fullscreen mode Exit fullscreen mode

Virgülden Sonra 4 Basamak

print(f"{fiyat:.4f}")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

123.4568
Enter fullscreen mode Exit fullscreen mode

Binlik Ayraç ve Ondalık

maas = 125000.456

print(f"{maas:,.2f}")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

125,000.46
Enter fullscreen mode Exit fullscreen mode

Yüzde Formatı

oran = 0.875

print(f"{oran:.2%}")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

87.50%
Enter fullscreen mode Exit fullscreen mode

Bilimsel Gösterim

sayi = 123456789

print(f"{sayi:e}")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

1.234568e+08
Enter fullscreen mode Exit fullscreen mode

Büyük Bilimsel Gösterim

print(f"{sayi:E}")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

1.234568E+08
Enter fullscreen mode Exit fullscreen mode

3. Decimal Formatlama

Finansal işlemlerde float yerine Decimal kullanılması önerilir.

Decimal Tanımlama

from decimal import Decimal

fiyat = Decimal("1234.56789")

print(fiyat)
Enter fullscreen mode Exit fullscreen mode

Çıktı:

1234.56789
Enter fullscreen mode Exit fullscreen mode

2 Basamaklı Gösterim

from decimal import Decimal

fiyat = Decimal("1234.56789")

print(f"{fiyat:.2f}")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

1234.57
Enter fullscreen mode Exit fullscreen mode

Binlik Ayraç Kullanımı

from decimal import Decimal

tutar = Decimal("123456789.98765")

print(f"{tutar:,.2f}")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

123,456,789.99
Enter fullscreen mode Exit fullscreen mode

4. Finansal Formatlama

Muhasebe ve e-ticaret projelerinde sık kullanılır.

from decimal import Decimal

fiyat = Decimal("1499.99")
kdv = Decimal("0.20")

toplam = fiyat * (1 + kdv)

print(f"Ürün Fiyatı : {fiyat:,.2f} TL")
print(f"KDV         : %{kdv*100:.0f}")
print(f"Toplam      : {toplam:,.2f} TL")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

Ürün Fiyatı : 1,499.99 TL
KDV         : %20
Toplam      : 1,799.99 TL
Enter fullscreen mode Exit fullscreen mode

5. Format Fonksiyonu Kullanımı

f-string dışında klasik yöntem:

sayi = 1234.5678

print("{:.2f}".format(sayi))
Enter fullscreen mode Exit fullscreen mode

Çıktı:

1234.57
Enter fullscreen mode Exit fullscreen mode

Binlik Ayraç

print("{:,.2f}".format(sayi))
Enter fullscreen mode Exit fullscreen mode

Çıktı:

1,234.57
Enter fullscreen mode Exit fullscreen mode

6. Türkçe Para Formatı

Python'ın varsayılan formatı Amerikan stilidir.

tutar = 1234567.89

formatli = f"{tutar:,.2f}"

formatli = (
    formatli
    .replace(",", "X")
    .replace(".", ",")
    .replace("X", ".")
)

print(formatli)
Enter fullscreen mode Exit fullscreen mode

Çıktı:

1.234.567,89
Enter fullscreen mode Exit fullscreen mode

7. Tüm Formatların Karşılaştırması

from decimal import Decimal

i = 1234567
f = 1234567.89123
d = Decimal("1234567.89123")

print(f"INT      : {i}")
print(f"INT      : {i:,}")

print(f"FLOAT    : {f}")
print(f"FLOAT    : {f:.2f}")
print(f"FLOAT    : {f:,.2f}")

print(f"DECIMAL  : {d}")
print(f"DECIMAL  : {d:.2f}")
print(f"DECIMAL  : {d:,.2f}")

print(f"YÜZDE    : {0.875:.2%}")
print(f"BİLİMSEL : {f:E}")
Enter fullscreen mode Exit fullscreen mode

Çıktı:

INT      : 1234567
INT      : 1,234,567

FLOAT    : 1234567.89123
FLOAT    : 1234567.89
FLOAT    : 1,234,567.89

DECIMAL  : 1234567.89123
DECIMAL  : 1234567.89
DECIMAL  : 1,234,567.89

YÜZDE    : 87.50%
BİLİMSEL : 1.234568E+06
Enter fullscreen mode Exit fullscreen mode

Profesyonel Projelerde En Sık Kullanılan Formatlar

Amaç Format
2 ondalık gösterim :.2f
4 ondalık gösterim :.4f
Binlik ayraç :,
Binlik + 2 ondalık :,.2f
Yüzde :.2%
Bilimsel gösterim :e
Büyük bilimsel gösterim :E
Sol hizalama <10
Sağ hizalama >10
Ortala ^10
Sıfır doldurma 08

Modern Python projelerinde sayı formatlama için en yaygın ve okunabilir yöntem f-string kullanımıdır. Finansal uygulamalarda ise hesaplama tarafında Decimal, görüntüleme tarafında ise f"{deger:,.2f}" kombinasyonu tercih edilir.

Top comments (0)