Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z number_format(), Nie uwzględnia wartości dziesiętnych
lukir
post 6.04.2006, 19:31:01
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 6.08.2004
Skąd: Warszawa

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


Mam takie coś:

Jedna z operacji klasy filtrującej:
  1. <?php
  2. class Filter {
  3. //zmienne klasy
  4. private $input;
  5.  
  6. //konstruktor klasy
  7. function __construct($input) {
  8. $this->input = $input;
  9. }
  10.  
  11. //operacja formatująca ceny
  12. public function price_format() {
  13.  $this->input = number_format($this->input, 2, ",", " ");
  14.  return $this->input;
  15. }
  16. }
  17. ?>


Fragment skrypu korzystającego z tej klasy:
  1. <?php
  2. $Filter = new Filter($items[$i]['price']); /*zmienna $items... to tablica powstała w wyniku pobrania danych z bazy MySQL - zmienna ta posiada wartość groszy */
  3. $price = $Filter->price_format();
  4. echo $price." zł";
  5. ?>


A to mi zwraca dla wartości zmiennej $items[$i]['price'] np.:
12.43 -> 12,00
3.21 -> 3,00

czyli jednym słowem zeruje mi grosze.
Może rozwiązanie będzie proste, ale jakoś nie mogę na nic wpaść.
Z góry dzięki za pomoc


--------------------
"Tylko myśl dojrzała i jasna daje się wypowiedzieć w słowach prostych" - prof. Witold Doroszewski
Warsztat: os: Windows XP, serwer: Apache 2.0.55, php: 5.1.4, baza danych: MySQL 4.1.7.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
phobos
post 7.04.2006, 01:10:49
Post #2





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 7.04.2006

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


a jak przegladniesz sobie ta tablice $items to masz grosze questionmark.gif bo moze to cos z zapytaniem mysql , kod wydaje sie w porzadku .
Go to the top of the page
+Quote Post
lukir
post 7.04.2006, 19:13:29
Post #3





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 6.08.2004
Skąd: Warszawa

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


Tak - spróbowałem:

  1. <?php
  2. echo $items[$i]['price'];
  3. echo $price;
  4. ?>


i to zwraca wartości dla $items[$i]['price'] = 12.34:
$items[$i]['price'] = 12.34 - czyli OK
a $price - po konwersji = 12.00 - czyli czapa :/

jest mi to potrzebne, żeby odseparować tysiące itd:
12345.32 = 12 345.32

ale obcina te cholerne grosze...


--------------------
"Tylko myśl dojrzała i jasna daje się wypowiedzieć w słowach prostych" - prof. Witold Doroszewski
Warsztat: os: Windows XP, serwer: Apache 2.0.55, php: 5.1.4, baza danych: MySQL 4.1.7.
Go to the top of the page
+Quote Post
phobos
post 7.04.2006, 20:38:05
Post #4





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 7.04.2006

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


skopiowalem ten kod i podstawilem za $items[$i]['price'] jakaś liczbe ( 12.34 , 1234.56 123456.78) i u mnie dzial bez zarzytów

Ten post edytował phobos 7.04.2006, 20:38:20
Go to the top of the page
+Quote Post
lukir
post 12.04.2006, 19:47:25
Post #5





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 6.08.2004
Skąd: Warszawa

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


Spoko - to w takim razie może to jakiś błąd logiczny gdzieś indziej w kodzie -> zobaczę, ale mimo tego dzięki za odpowiedź.


--------------------
"Tylko myśl dojrzała i jasna daje się wypowiedzieć w słowach prostych" - prof. Witold Doroszewski
Warsztat: os: Windows XP, serwer: Apache 2.0.55, php: 5.1.4, baza danych: MySQL 4.1.7.
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: 13.08.2025 - 23:41