• 30-10-2021, 17:57:02
    #1
    Merhaba, python başlangıç seviyesindeyim ve öğrenmeye çalışıyorum. Bugün çözemediğim problem 0.2999999999'u round fonksiyonuyla yuvarladığımda 0.3 yapıyor. Ama ben 0.30 yapmasını istiyorum. Nasıl yapabilirim?

  • 30-10-2021, 18:04:25
    #3
    format(round(d), nsmall = 2)

    eğer olmazsa aşağıdaki şekilde deneyebilirsiniz.

    format(round(d, 2), nsmall = 2)
  • 30-10-2021, 18:14:57
    #4
    Python Coder
    Hocam float olduğu için virgülden sonraki 0 değerlerini göstermeyebilir , ne için kullanacağınızı bilmiyorum ama şu şekilde bir şey yapabilirsiniz ,
    - float değerini stringe çevirirsiniz
    - virgülden sonra kaç basamak olduğunu kontrol edersiniz
    - eğer basamak sayısı 2den az ise stringsayi+'0' yaparak ekleyebilirsiniz 0 değerini
    Yapamazsanız anlattığım şekilde yardımcı olabilirim hocam
  • 30-10-2021, 18:15:52
    #5
    0.3 ve 0.30 zaten eşit.
    f"{degisken:.2f}"
    yaparsanız stringe çevirirsiniz ve noktadan sonra 2 basamak sabit olur
  • 30-10-2021, 18:52:11
    #6
    Teşekkür ederim cevaplar için. Stringe çevirip eğer istediğimden kısaysa sonuna bir sıfır eklemek sorunumu çözdü.
  • 30-10-2021, 20:27:36
    #7
    Usain adlı üyeden alıntı: mesajı görüntüle
    Teşekkür ederim cevaplar için. Stringe çevirip eğer istediğimden kısaysa sonuna bir sıfır eklemek sorunumu çözdü.
    mesela
    11.1 olsa da 11.10 demesi lazım.
    111.1 olsa da 111.10 demesi lazım.

    Stringe çevirip belirtilen uzunluktan küçükse 0 ekleme işi de yaş.
    Float halinden interger halini çıkarıp 1 haneliyse sonuna 0 ekleyebilirim sanırım bu kökten çözecek ama aşırı amele hissediyorum. Çok satır oldu...
  • 30-10-2021, 20:51:42
    #8
    print(f'{round(x):.2f}')
  • 30-10-2021, 21:13:10
    #9
    rcu adlı üyeden alıntı: mesajı görüntüle
    print(f'{round(x):.2f}')
    Bu harika. Teşekkür ederim.