Sitedeki daha önceki yazıda virgülden sonra basamak yuvarlama ile ilgili bilgi vermiştim. Bu yazıda da benzer bir açıklamadan sonra bir kaç farklı yöntemde 2 basağa yuvarlama hakkında bilgi vereceğim.
Orjinalde aşağıdaki gibi beri değerimiz olduğunu varsayarak yuvarlama seçeneklerine bakalım.
Orjinal değer
1 2 3 | print (16.0/7) |
1: round() kullanarak yuvarlama
1 2 3 4 5 6 7 8 9 10 | from decimal import Decimal x = Decimal(16.0/7) sonuc = round(x,2) print (sonuc) |
Çıktı: 2.29
2: Süper yuvarlama güçlerine sahip yuvarlak ondalık
1 2 3 4 5 6 7 8 9 10 | from decimal import Decimal, ROUND_HALF_UP # ROUND_05UP ROUND_DOWN ROUND_HALF_DOWN ROUND_HALF_UP # ROUND_CEILING ROUND_FLOOR ROUND_HALF_EVEN ROUND_UP deger = Decimal(16.0/7) sonuc = Decimal(deger.quantize(Decimal('.01'), rounding=ROUND_HALF_UP)) print (sonuc) |
3: Hassasiyeti ayarlayarak yuvarlak ondalık
1 2 3 4 5 6 7 8 9 | from decimal import getcontext, Decimal getcontext().prec = 3 sonuc = Decimal(16.0)/Decimal(7) print (sonuc) |
Yukarıdaki örnekte prec değerini 2 yaparsak 2.3 şeklinde yuvarlama yapacaktır. Eğer 6 olarak ayarlasaydık 2.28571 olacaktı.
Yorum Yap