Python'da Bir Sayı Nasıl Yuvarlanır (round() Fonksiyonu ve Ondalık)
Python'da kayan noktalı sayıların nasıl yuvarlanacağını öğrenin. Banker'ın yuvarlamayı, özel ondalık hassasiyetini ve görüntüleme için kayan biçimlendirmeyi anlayın.
Genel Bakış
Bilgisayarlardaki kayan nokta aritmetiği, ikili sistemlerin ondalık sayıları depolama şekli nedeniyle bazen beklenmedik hassasiyet sorunlarına yol açabilir (örneğin, "0,1 + 0,2", "0,30000000000000004" olarak değerlendirilir). Sayıları kullanıcılara sunarken veya metrikleri hazırlarken sayıları yuvarlamak yaygın bir gereksinimdir. Python bunu başarmanın çeşitli yollarını sunar.
Birincil araç yerleşik 'yuvarlak(sayı, rakam)' işlevidir. Bir sayı ve isteğe bağlı bir hassas sayım gerektirir. Eğer 'ndigits' atlanırsa, en yakın tamsayıya yuvarlanır. Eğer 'ndigit' sağlanmışsa, bu ondalık basamak sayısına yuvarlanır.
Python'un `round()` fonksiyonunun önemli bir özelliği, "Banker'in yuvarlamasını" (yarıdan çifte yuvarlama) kullanmasıdır. Bir sayı iki tam sayının tam ortasında olduğunda (örneğin, '2,5' veya '3,5'), Python en yakın *çift* sayıya yuvarlar. Bu, "yuvarlak(2.5)"un "2" ve "yuvarlak(3.5)"un "4" olduğu anlamına gelir. Yukarıya doğru sapmayı önlemek için büyük veri kümeleri üzerinde matematiksel olarak adil olsa da, hassas finansal hesaplamalar için "ondalık" modülün niceleme araçlarını kullanmalısınız.
Kod ve Yürütme Çıkışı
Bu komut dosyası, yerleşik yuvarlama işlevini, Banker'ın yuvarlama örneklerini ve ondalık modülünü kullanan yuvarlama kayan noktalarını gösterir.
from decimal import Decimal, ROUND_HALF_UP
val = 3.14159
# 1. Round to nearest integer
print("Nearest Integer:", round(val))
# 2. Round to 2 decimal places
print("Two decimals:", round(val, 2))
# 3. Banker's Rounding demonstration (rounds to nearest even)
print("round(2.5):", round(2.5)) # Nearest even is 2
print("round(3.5):", round(3.5)) # Nearest even is 4
# 4. Math rounding up (Traditional rounding) using decimal module
amount = Decimal("2.5")
rounded_up = amount.quantize(Decimal("1"), rounding=ROUND_HALF_UP)
print("Decimal ROUND_HALF_UP (2.5):", rounded_up)Nearest Integer: 3
Two decimals: 3.14
round(2.5): 2
round(3.5): 4
Decimal ROUND_HALF_UP (2.5): 3Adım Adım Uygulama
- Bir kayan noktayı en yakın tam sayıya yuvarlamak için yerleşik round(number) işlevini çağırın.
- Tutulacak ondalık basamak sayısını belirtmek için ikinci bir argüman (örneğin, round(num, 2)) iletin.
- Kesin finansal yuvarlama hesaplamaları için ROUND_HALF_UP ile ondalık modülü kullanın.
Sıkça Sorulan Sorular
Python'da neden round(2.5) 3 yerine 2 döndürüyor?
Python, yarım sayıları en yakın çift tam sayıya yuvarlayan Banker yuvarlama yöntemini kullanır. Bu, istatistiksel önyargıyı azaltır (sayıların yarıma yuvarlanması her zaman büyük veri kümelerinde hafif bir yukarı doğru kaymaya neden olur).
Bir sayıyı her zaman yukarıya veya her zaman aşağıya nasıl yuvarlarım?
Math modülünü içe aktarın ve bir sonraki tam sayıya yuvarlamak için math.ceil(x) komutunu veya önceki tam sayıya yuvarlamak için math.floor(x) komutunu kullanın.
İlgili Konular
Python'daki en iyi dize biçimlendirme tekniklerini öğrenin. Modern f-dizelerini, format() ve yüzde formatını kod örnekleriyle karşılaştırın.
Python'da String'i Int'ye DönüştürmePython'da int() işlevini kullanarak bir dizeyi tam sayıya nasıl dönüştüreceğinizi öğrenin. Hataları güvenli bir şekilde ele alın ve sayıları ikili, sekizli veya onaltılıdan dönüştürün.
Önerilen Python Kaynakları
İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.
Python Değişkenleri ve Veri Türlerinin Açıklaması
Python değişkenlerini ve temel veri türlerini (dizeler, tamsayılar, kayan noktalar, boolean'lar) anlayın. Python'da hafıza atamaya yönelik eksiksiz bir başlangıç kılavuzu.
Python Sözlüğü Yöntemleri Hile Sayfası
Python sözlük yöntemlerini öğrenin. Anahtar/değer çifti ekleme, alma, güncelleme ve kontroller için eksiksiz başvuru kılavuzu.
Python vs JavaScript: Hangi Programlama Dili En İyisidir?
Python ve JavaScript arasında kapsamlı bir karşılaştırma. Sözdizimi farklılıklarını, performansı, kullanım örneklerini (arka uç ve ön uç) ve kodlama örneklerini keşfedin.