Posted By: Jovo () on 'CZprogram'
Title:     Ad: Float precision 
Date:      Tue Oct 30 19:43:29 2001

Ahoj.

  Ja jsem si delal programek, ktery pocital penize v kartach a nakonec 
vystavil ucet. Jelikoz tam byla moznost stav financi upravovat, tak jsem si 
musel dat podminku, ze ucet lze vystavit jen tehdy, kdyz celkova suma penez 
ve hre je rovna nule (co jedni vyhraji, to druzi prohraji). No jake bylo meje 
prekvapeni, kdyz jsem dal 

if (suma!=0)

po secteni vsech sum, vsechny byly maximalne 9,40 Kc, a ono mi to napsalo, ze 
celkova suma neni nula!
  Tak jsem to odkrokoval a zjistil, ze se mi po souctu ctyr cisel v rozsahu 
<-10,+10> v sume ocitla hodnota 1e-16, coz pri porovnani opravdu neni 0 :-)
No jo, ulozeni cisel. Tak jsem si nadefinoval mez (1e-5) a

 if (ABS(suma)>MEZ)

vyresilo muj problem. 

Jovo.
PS: ... a vy se divite, ze vam v bance zmizlo z uctu dvacet tacu? :-) 

Search the boards