Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Zaokrąglanie ułamka do liczby kończącej się na 0 lub 5
mefistofeles
post
Post #1





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 23.06.2009

Ostrzeżenie: (10%)
X----


Za pomocą funkcji round() zaokrąglam sobie ułamki, ale chciałbym
w przypadku np liczby 33,5, żeby zaokrągliło mi ją nie do 34 tylko do 35,
a liczbe 38,4 powinno zaokrąglić mi do 40,czyli końcówka albo 5 albo 0 powinna być.

Jak to najprościej wykonać ?

Obejdzie się bez modulo itp ?
Go to the top of the page
+Quote Post
yevaud
post
Post #2





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

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


a co z liczba np 2.5 ? w gore czy w dol ?
Go to the top of the page
+Quote Post
mefistofeles
post
Post #3





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 23.06.2009

Ostrzeżenie: (10%)
X----


W górę (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
yevaud
post
Post #4





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

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


  1. function roundHight5($i)
  2. {
  3. $arr = array(0, -1, -2, 2, 1);
  4. $r = round($i);
  5. return $r + $arr[$r % 5];
  6. }
Go to the top of the page
+Quote Post
mefistofeles
post
Post #5





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 23.06.2009

Ostrzeżenie: (10%)
X----


  1. function rs($i)
  2. {
  3. $arr = array(0, -1, -2, 2, 1);
  4. $r = round($i);
  5. return $r + $arr[$r % 5];
  6. }
  7.  
  8.  
  9. $cena2=$cena + $cena * 10 / 100;
  10. $cena2=rs($cena2);



Fatal error: Cannot redeclare rs() (previously declared in C:\WebServx

(IMG:style_emoticons/default/sad.gif)

Ten post edytował mefistofeles 24.06.2010, 03:24:46
Go to the top of the page
+Quote Post
yevaud
post
Post #6





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

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


? dlaczego nazwales funkcje "rs"
Go to the top of the page
+Quote Post
mefistofeles
post
Post #7





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 23.06.2009

Ostrzeżenie: (10%)
X----


A co to za różnica jak się nazywa ?
I tak ją wywołuje po nazwie, przecież jak zmienię na to co podałeś to dalej mam ten sam błąd ...
Go to the top of the page
+Quote Post
webdice
post
Post #8


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Tak różnica, że latasz później z głupimi błędami na forum, a wystarczyło przeczytać błąd.
Go to the top of the page
+Quote Post
mefistofeles
post
Post #9





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 23.06.2009

Ostrzeżenie: (10%)
X----


Fuck, byłem na 100% przekonany, że wstawiłem funkcję przed pętle a jednak było inaczej (IMG:style_emoticons/default/smile.gif)
Dzięki za pomoc.
Go to the top of the page
+Quote Post
croc
post
Post #10





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Ale wy kombinujecie z tymi tablicami (IMG:style_emoticons/default/laugh.gif) Przecież wystarczy tak:

  1. function roundToFive($number) {
  2. return round($number / 5) * 5;
  3. }


Ten post edytował croc 24.06.2010, 07:53:36
Go to the top of the page
+Quote Post
yevaud
post
Post #11





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

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


respect (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 12:00