Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]zaokrąglanie liczb
marcus753
post 20.03.2010, 02:17:59
Post #1





Grupa: Zarejestrowani
Postów: 281
Pomógł: 3
Dołączył: 8.06.2009
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam mam problem chcę zaokrąd=glać liczby od x,3 w górę a ponizej X.3 w dół np. 3,4 to 4 a 3,2 to 3

Jak uzyskać taki efekt questionmark.gif

Pozdrawiam i czekam na odp.


--------------------
Cokolwiek zostanie upuszczone na uklad elektroniczny, spadnie zawsze tam gdzie wyrzadzi najwiecej szkody.
Go to the top of the page
+Quote Post
Rysh
post 20.03.2010, 03:41:12
Post #2





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

Ostrzeżenie: (0%)
-----


ceil?


--------------------
Go to the top of the page
+Quote Post
frytek92
post 20.03.2010, 04:40:05
Post #3





Grupa: Zarejestrowani
Postów: 163
Pomógł: 10
Dołączył: 9.11.2007
Skąd: Goleniów

Ostrzeżenie: (0%)
-----


Użyj funkcji floor lub ceil ?

Ps.Sorry za pomyłkę round zaokrągla w dół (3.2 w 3)

Ten post edytował frytek92 20.03.2010, 11:58:12


--------------------
Go to the top of the page
+Quote Post
jareeny
post 20.03.2010, 08:22:46
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 23
Dołączył: 2.10.2007
Skąd: Słupsk

Ostrzeżenie: (0%)
-----


ceil i floor, nie round i do tego prosty warunek


--------------------
banan wszyscy.
Go to the top of the page
+Quote Post
erix
post 20.03.2010, 08:23:34
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Hmm, o ile przy zwyczajnych regułach matematycznych, to macie rację, ale wg tego, co on chce, to trzeba inaczej;

Masz tu ogólną ideę - ubierz to sobie funkcję.

  1. $var = 3.2;
  2. $var = $var-(int)$var<0.3 ? (int)$var-1 : (int)$var+1;


edit@up: Zapostowałeś chwilę przede mną, więc pozwoliłem sobie porobić testy. Konstrukcje języka zawsze będą szybsze niż funkcje, 10k iteracji wg Twojego rozwiązania i mojego - rzutowanie na integer i wycinanie całości było średnio o 1/3 szybsze niż z ceil/floor.

Ale trochę mnie dziwi, że funkcja, która powinna być - teoretycznie - szybsza i robi to samo, jest tak naprawdę - wolniejsza. winksmiley.jpg


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:30