[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:27:53 CEST 2009


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


Další informace o konferenci Python