Keskustelut - Python / Ruby / Perl - Liukulukujen vertailu tahmaa


Juntti-Einari 09:12 19.5.10 
Hei, osaisko joku sanoo et miks seuraava vertailu ei tuota true-arvoa?


PHP
x = (0.5 - 0.2)
if x == 0.3:
    print 'tosi'    #ei toimi!#
 
weicco 09:54 19.5.10 
Juntti-Einari 10:09 19.5.10 
Menee vähä liian hepreaksi nuo linkit :D. Mitenkäs Pythonissa sitten tapahtuu liukulukujen vertailu ylipäätää? Yrittäny googlesta neuvoja ettii mutta ei oo sattunu mitää järkevää kohille.
chiman 10:20 19.5.10 
Juntti-Einari kirjoitti:
Mitenkäs Pythonissa sitten tapahtuu liukulukujen vertailu ylipäätää?

Yleisesti ottaen vertaa < tai >, älä ==. Tarkempi menettely riippuu tilanteesta.

Jos lasket rahamääriä sentin tarkkuudella, älä käytä euro-liukulukuja ja niille kahta desimaalia, vaan kokonaislukua ilmaisemaan summat senteissä.

Jos tarvitset tietyn määrän desimaaleja, käytä: http://docs.python.org/library/decimal.html
rane 10:37 19.5.10