Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zaokrąglanie ułamka do liczby kończącej się na 0 lub 5
mefistofeles
post 24.06.2010, 01:40:00
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
 
Start new topic
Odpowiedzi (1 - 10)
yevaud
post 24.06.2010, 02:39:51
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 24.06.2010, 02:53:35
Post #3





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

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


W górę smile.gif
Go to the top of the page
+Quote Post
yevaud
post 24.06.2010, 03:12:06
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 24.06.2010, 03:23:34
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

sad.gif

Ten post edytował mefistofeles 24.06.2010, 03:24:46
Go to the top of the page
+Quote Post
yevaud
post 24.06.2010, 03:32:49
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 24.06.2010, 03:38:01
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 24.06.2010, 07:32:22
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 24.06.2010, 07:47:52
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 smile.gif
Dzięki za pomoc.
Go to the top of the page
+Quote Post
croc
post 24.06.2010, 07:53:00
Post #10





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

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


Ale wy kombinujecie z tymi tablicami 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 24.06.2010, 09:34:38
Post #11





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

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


respect smile.gif
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: 19.07.2025 - 20:31