[python] Porovnávání v py 0.2<0.2 True????

MICHÁLEK Jan Mgr. Michalek.Jan na uhul.cz
Středa Květen 6 18:29:52 CEST 2009


P.S.:
Když použiju math.fabs, tak to dělá to samé.

  _____  

From: python-bounces na py.cz [mailto:python-bounces na py.cz] On Behalf Of MICHÁLEK Jan Mgr.
Sent: Wednesday, May 06, 2009 6:28 PM
To: python na py.cz
Subject: [python] Porovnávání v py 0.2<0.2 True????


omlouvám se za předchozí prázdný email, omylem jsem to odeslal prázdné
 
Řeším následující problém:
Zpracovávám dotazy z db (MS SQL) a potřebuji vybrat ze dvou čísel to, které je bližší k cílové hodnotě,
v podmínce mám následující výraz
(abs(fv-tp)<abs(tv-tp))
fv i tv jsou 0.2, přesto mi to vrací True, fv je suma ze dvou záznamů. tv jen z jednoho.
 
Pamatuju si, že jsem v nějakém článku našel popis problému s desetinými čísly v pythonu a byl tam i popis řešení, ale nemůžu to dohledat.
když použiju:
print repr(abs(fv-tp)),repr(abs(tv-tp))
 
tak mi to vrátí:
0.019999999999999907 0.020000000000000018
 
nechci použít zaokrouhlování, co s tím můžu udělat?
 
Děkuji Jelen
 


__________ Informace od ESET NOD32 Antivirus, verze databaze 4056 (20090506) __________

Tuto zpravu proveril ESET NOD32 Antivirus.

http://www.eset.cz


__________ Informace od ESET NOD32 Antivirus, verze databaze 4056 (20090506) __________

Tuto zpravu proveril ESET NOD32 Antivirus.

http://www.eset.cz

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20090506/af08616d/attachment.htm>


Další informace o konferenci Python