Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak zaokrągli wynik do 2 miejsc po przecinku
Forum PHP.pl > Forum > Przedszkole
szczabik
Jak zaokrągli wynik do 2 miejsc po przecinku

Zrobiłem tak i coś nie chce działać
  1. <?php
  2. $srednia = dbquery("SELECT AVG(rating_vote) FROM ".$db_prefix."ratings WHERE rating_type='P' AND rating_user='".$userdata['user_id']."'");[/size]
  3.  
  4. [size="3"]echo "".number_format(dbresult($srednia, 2, '.', ' '))."";
  5. ?>


A jak zrobie tak
  1. <?php
  2. $srednia = dbquery("SELECT AVG(rating_vote) FROM ".$db_prefix."ratings WHERE rating_type='P' AND rating_user='".$userdata['user_id']."'");[/size]
  3.  
  4. [size="3"]echo "".number_format(dbresult($srednia, 0))."";
  5. ?>



To działa ale zaokrągla mi wynik do pełnej wartości czyli np 5 a chce by były 2 miejsca po przecinku wie ktoś jak to zrobić

help_mee
http://pl2.php.net/manual/pl/function.number-format.php
----> http://pl2.php.net/manual/pl/function.round.php
dla mnie troszkę źle zbudowane...
pyro
  1. <?php
  2. $srednia = dbquery("SELECT AVG(rating_vote) FROM ".$db_prefix."ratings WHERE rating_type='P' AND rating_user='".$userdata['user_id']."'");
  3. echo "".round(dbresult($srednia), 2)."";
  4. ?>


i nie dawaj bbcode w znacznikach PHP ^^
webdice
Manual nie gryzie. Poczytaj o mysql round.
ppp
http://pl.php.net/round
sarat20
Używająć poniższej funkcji pad_zeros() możesz wymusić by liczba zawsze była formatowana z 2 miejscami po przecinku:
  1. <?php
  2. $val = 4.1;
  3. $val = round($val, 2);
  4. $val = pad_zeros($val, 2);
  5. echo $val;
  6.  
  7. function pad_zeros($number, $zeros)
  8. {
  9. if (strpos($number, '.') !== false) {
  10. preg_match('#.(d+)$#', $number, $match);
  11. $number .= str_repeat('0', $zeros-strlen($match[1]));
  12. return $number;
  13. } else {
  14. return $number.'.'.str_repeat('0', $zeros);
  15. }
  16. }
  17. ?>
erix
ROTFL haha.gif
15 linijek zamiast jednej. haha.gif

number_format" title="Zobacz w manualu PHP" target="_manual...
sarat20
Oops, tyle lat w pehapie, a nie znałem tej funkcji...
Każdemu może się zdarzyć winksmiley.jpg
/out
szczabik
Zrobiłem wszytko tak jak podaliście i nie działa zrobiłem tak
  1. <?php
  2. echo "".round(dbresult($srednia, 2))."";
  3. ?>

To zwraca mi 0 co jest nie prawdą zrobiłem tak
  1. <?php
  2. echo "".dbresult($srednia, 0)."";
  3. ?>


To zaokrągla mi do 4 miejsc po przecinku

Już nie wiem co jest nie tak
Petermechanic
  1. <?php
  2. echo "".round(dbresult($srednia), 2)."";
  3. ?>
szczabik
Zrobiłem tak i dalej nie działa
webdice
Tylko po co robić coś w PHP skoro można to zrobić w MySQL?

  1. SELECT ROUND(`rate`, 2) AS `rate` FROM `table`
szczabik
Mam takie zapytanie i jak mam to tu wstawić
  1. <?php
  2. SELECT AVG(rating_vote) FROM ratings
  3. ?>
webdice
Obiecuje Ci, że jeśli troszkę pomyślisz to naprawdę nic Ci się nie stanie.

  1. SELECT ROUND(AVG(`rating_vote`), 2) AS `rating_vote` FROM `ratings`
szczabik
Teraz działa dziekuje bardzo
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.