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.
답글 남기기