Başlıkta da belirttiğim gibi 0.45451 gibi küsüratlı bir sayıyı nasıl 0.5 e yuvarlayabilirim
round fonksiyonunu kullanabilirsin.
a = 0.45515
print(round(a,1))
Bir soru daha sorsam 4.23 olduğu zaman 4 e yuvarlıyor ya bunu 4.3 e yuvarlamanın bir yolu var mı
def çakmaRoundFonksiyonu(sayı):
if type(sayı) is not float:
print("Yalnızca Ondalık sayı girilebilir")
else:
sayı = str(sayı)
ondalık_kısım = [j for j in sayı.split(".")]
t = int(ondalık_kısım[1])
virgülden_sonraki_her_rakam = [int(ondalık_kısım[1][i]) for i in range(len(ondalık_kısım[1]))]
virgülden_sonraki_her_rakam.reverse()
fark = 10 - int(virgülden_sonraki_her_rakam[0])
if fark <= 5:
t += fark
else:
t = 0 # 3 ile değiştirirseniz amacınıza ulaşırsınız.
print(f"{ondalık_kısım[0]}.{t}")
çakmaRoundFonksiyonu(4.23) # benim yaptığım
round(4.23) # sevgili yılanın verdiği
Yalnızca tek bir basamak olarak işlem yapıyor bilginiz olsun. Sondan 2 basamağı yuvarlama gibi bir derdiniz varsa bu yazdığım kodu belki komple değiştirmeniz belki de biraz oynamanız gerekebilir.
4 Beğeni
ceil
yukarı yuvarlar senin ihtiyacın olan hangisi ise onu kullan round
da olabilir.
print(math.ceil(4.23)) # 5
print(math.ceil(4.23 * 10)/10) # 4.3
def rond_float(float_num, resolution):
resolution_num = resolution * 10
rounded = float_num * resolution_num
return math.ceil(rounded) / resolution_num
3 Beğeni
a = 0.194177
b = 0.2 - a
c = a + b
c burada 0.2 olur
python - Round float to x decimals? - Stack Overflow
In [23]: round(66.66666666666,4)
Out[23]: 66.6667
In [24]: round(1.29578293,6)
Out[24]: 1.295783
Yarar ve zararlarına dair farklı açıklamalar da linkte mevcut.
1 Beğeni