pl.comp.lang.delphi
[Top] [All Lists]

Re: Zaokrąglenie liczb - RoundTo

Subject: Re: Zaokrąglenie liczb - RoundTo
From: "t0mek"
Date: Mon, 28 Jul 2008 15:15:00 +0200
Newsgroups: pl.comp.lang.delphi


Mam problem z zaokrąglaniem liczb............
Korzystam z funkcji RoundTo i pojawia się problem:
jeśli wartość jest dokładnie w połowie między dwoma liczbami całkowitymi (2.5) to zaokrągla ona do najbliższej (niby) parzystej............ niby bo też zauważyłem rozbierzności w zależności od wielkości liczby (0,575 zaoktągla do 0.57 a nie jak zasada mówi do najbliżeszej parzystej czyli do 0,58) no i co dziwne od komputera.(jest rozbierzność - stosując tą samą oczywiście aplikację między np. 0,525 na jedmym kompie zaokragla w górę a na drugim w dół).

Zasada jest taka, że nie zaokrąglaga do najblizszej parzystej tylko: 0-4 ->0, 5-9->10.
Tak czy siak w tym przypadku faktycznie powinno być 0,58.
Domyślnie jest "Banker's Roundin", a żeby zrobić "normalne" to zrób:
SetRoundMode(rmNearest);
Poza tym masz zaokrąglenia w dół (inaczej "podłoga"): Floor i do góry (sufit chyba): Ceil. No i Trunc.

Pozdrawiam,
t0mek

<Prev in Thread] Current Thread [Next in Thread>
Privacy Policy