Strona 1 z 1
zaokrąglanie
: 16 cze 2010 17:29
autor: santiago
Witam!!
Mam takie pytanko: jak zaokrąglić liczbę na przykład do dwóch miejsc po przecinku.
Czyli: 62,987~=62,99
100,123~=100,12
Nie chodzi mi o sposób wyświetlania (bo to można ustawić w parametrach Indicatora -> Digits of precision) - zaokrąglenie potrzebne mi jest do obliczeń.
POZDRAWIAM!!
Re: zaokrąglanie
: 16 cze 2010 17:32
autor: skoziate
Razy 100, zaokrąglenie, dzielenie przez 100

Re: zaokrąglanie
: 16 cze 2010 17:44
autor: santiago
No ale jak zrobić "zaokrąglenie"???
Re: zaokrąglanie
: 16 cze 2010 17:56
autor: wino
Wciśnij Ctrl+Space, i wpisz Round To Nearest
Re: zaokrąglanie
: 17 cze 2010 17:17
autor: santiago
Działa

Dzięki za podpowiedź!
Ale zastanawiam się, czy nie można zrobić tego bardziej "elegancko" ;)
Bo co w przypadku kiedy chciałbym mieć możliwość wyboru:
62,985~=62,99
albo
62,985~=62,98
POZDRAWIAM!!
zaokrąglanie
: 17 cze 2010 17:43
autor: Pitol
Zaokrąglanie polega na:
- odrzuceniu lub zastąpieniu zerami pewnej ilości cyfr końcowych danej liczby
- zwiększeniu ostatniej z pozostałych cyfr o jeden, jeśli kolejna cyfra liczby pierwotnej była większa lub równa 5.
Jak chcesz mieć własną metodę to... to sobie ją zrób

Re: zaokrąglanie
: 20 cze 2010 19:16
autor: santiago
Myślałem, że jest może jakaś gotowa funkcja
Dziękuję za pomoc, POZDRAWIAM!!!
zaokrąglanie
: 20 cze 2010 20:42
autor: Nowszy
Jest gotowa funkcja, a właściwie dwie: Round Towards + Infinity i taka sama z '0=- Infinity' - wykorzystując mnożenie/dzielenie jak wyżej otrzymasz odpowiedni efekt.
Re: zaokrąglanie
: 23 cze 2010 23:13
autor: santiago
Dzięki!!!
Ale:
-funkcja "Round Toward -Infinity " zaokrągla w dół w następujący sposób:
1,139~=1,13
-funkcja "Round Toward +Infinity " zaokrągla w górę w następujący sposób:
1,131~=1,14
-funkcja"Round To Nearest " zaokrągla w zależności od parzystości lub nieparzystości cyfry przed zaokrągleniem:
1,135~=1,14 i 1,125~=1,12 (3-nieparzysta, więc zaokrągla w górę; 2-parzysta, więc zaokrągla w dół).
Trochę dziwne jest działanie funkcji "Round To Nearest", bo raczej chciałoby się mieć funkcję, która działa tak jak pisał Pitol ("Zaokrąglanie polega na:
- zwiększeniu ostatniej z pozostałych cyfr o jeden, jeśli kolejna cyfra liczby pierwotnej była większa lub równa 5.")
Chyba nie ma innego wyjścia jak napisanie własnej funkcji???
POZDRAWIAM!