Posted By: dzemen () on 'CZprogram'
Title:     Zaokrouhlovani cisla typu Extended
Date:      Mon May  6 13:22:20 2002

Cau!

Co rikate nasledujicimu:

1) 1. pocitac, Celeron 333MHz, Windows 98 Second Edition

A := 824.5
Writeln(A) vypise 824.49999999.... {OK, to bych jeste zkousnul}
A := A + 0.000001;
Writeln(A) vypise 824.500001 {Nevim, jestli je pocet nul spravne, ale proste
                              je to pres polovinu}
Str(A:1:2, S);
Val(S, A, Code);
{Ted by melo byt v A cislo 824.5, protoze jsem "oriznul tu jednicku"}
Writeln(A) vypise 824.49999999 ;-(((
Takze trik s prictenim/odectenim "smeti" je na ......

2) 2. pocitac, Celeron 333MHz, Windows NT 4.0 SP 6a

- vsechno naprosto v pohode, tj. po prirazeni A := 824.5 a Writeln(A) ji 
proste na tech 824.5 vypise. Veskere dalsi operace "se smetim" take probehnou 
tak, jak to je spravne.... 


Program je napsan Delphi 5.0.
A dela to same i s jinymi cisly, napr. 4346.035 (zobrazuje jako 4346.03499999).
Chapal bych to, kdyby to bylo na obou pocitacich stejne dobre/spatne, ale 
program je ten samej a procesor taky, tak kde je chyba? ;-((


Dzemen 

Search the boards