Našao sam rešenje!
Ako se dobro sećam pri zaokruživanju na recimo dve decimale gleda se treca i ukoliko je ona 5 ili više druga se uvecava za jedan.
A što se tiče zaokruživanja koliko ja znam postoje četiri vrste: na gore, na dole, na najbližu celobrojnu vrednost i na najbližu parnu vrednost.
Ova poslednja se valjda koristi u statistici, ...
Ispred mene je stavljen zahtev da ispoštujem treće od gore nabrojanih zaokruživanja.
Iako pomislih da SimpleRoundTo ispravno radi posao pronašao sam sledeće rezulate
na jednom sajtu, a i sam sam primetio da nije baš uvek pouzdana.
SimpleRoundTo( 2.000,0) -> 2.00
SimpleRoundTo( 1.500,0) -> 2.00
SimpleRoundTo( 1.000,0) -> 1.00
SimpleRoundTo( 0.500,0) -> 1.00
SimpleRoundTo( 0.000,0) -> 0.00
SimpleRoundTo(-0.500,0) -> 0.00
SimpleRoundTo(-1.000,0) -> 0.00
SimpleRoundTo(-1.500,0) -> -1.00
SimpleRoundTo(-2.000,0) -> -1.00
SimpleRoundTo(-8.400,0) -> -7.00
Rešenje sam našao u sledećoj funkciji ako nekome zatreba:
function RoundUp(X: Extended; D: integer): Extended;
var y, f:Extended;
begin
f:= IntPower(10, D);
y:= x*f;
y := Trunc(y) + Trunc (Frac(y) * 2);
result:= y/f;
end;
Hvala u svakom slučaju !!!
Postoje 11 grupe ljudi ... oni koji znaju binarne brojeve, oni koji ne znaju i oni koji ponekad smisle neki glup slogan.