Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zaokrąglanie wartości, nawet jeśli podana jest liczba całkowita
Michael2318
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

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


Witajcie!

Potrzebuję w prosty sposób osiągnąć efekt, dzięki któremu przykładowo liczba: '67' zostanie zapisana jako
'67.00'. Próbowałem tak:

  1. round($liczba, 2);


ale wynikiem jest samo '67'. Jasne, że mogę sprawdzać czy w wyniku jest kropka, jeśli nie to dodawać na końcu zapisu '.00'. Jeśli natomiast kropka istnieje to mogę liczyć czy rzeczywiście po kropce znajdują się dwie liczby, a nie jedna. Jeśli jedna to dopisywać samo '0', ale może da się to jakoś prościej przedstawić?
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


number_format
Go to the top of the page
+Quote Post
Michael2318
post
Post #3





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

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


Załatwiłem to taką funkcją bo inaczej chyba nie pójdzie:

  1. function addzero($liczba)
  2. {
  3. // jeśli paramert jest pusty zwraca puste
  4. if ($liczba=='') return ('');
  5. // wyciaga cyfry po przecinku (grosze)
  6. $grosze=round(($liczba-(int)$liczba),2);
  7. // odwraca dla wygody
  8. $grosze=strrev($grosze);
  9. // jesli grosze sa mniejsze od 10 i rozne od zera dodaje jedno zero
  10. if (($grosze<10)AND($grosze!=0)) return ($liczba."0");
  11. // jesli grosze sa rowne zero dodaje dwa zera
  12. if ($grosze==0) return ($liczba.".00");
  13. // zwraca liczbe
  14. else return ($liczba);
  15. }


Ale dzięki za pomoc.
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #4





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


LOL. A czego brakuje number_format?

  1. number_format( $liczba, 2, '.', '' );

I masz taki sam efekt..

Ten post edytował wNogachSpisz 9.12.2012, 12:58:07
Go to the top of the page
+Quote Post
Crozin
post
Post #5





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Zdecydowanie lepiej jest korzystać z NumberFormatter::formatCurrency() zamiast number_format. Przykłady dobrze ilustrują dlaczego.
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #6





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


No tak, tyle że wymaga to PHP 5.3
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: 23.12.2025 - 23:37