Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][SQL]Wynik mnożenia - miejsca po przecinku
kristaps
post 4.04.2012, 15:41:05
Post #1





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

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


Witam. Pobieram rekordy jako tablicę asocjacyjną. Pewne elementy są tekstem, inne cyframi. Bywa, że jest różna ilość miejsc po przecinku/kropce. No i tu zaczynają się schody. $brutto wygląda załóżmy tak: 13.85, natomiast $ilość przycinam, bo domyślnie wygląda tak: 4.000 (po użyciu substr otrzymuję 4). Gdy mnożę obie zmienne otrzymuję: 55.4, bez zera. Mnożąc inne zmienne, których iloczyn nie kończy się zerem jest ok (np. 2 * 13.92 = 27.84). Jak mogę rozwiązać problem znikającego zera? Pozdrawiam.

Kod
while ($row = mysql_fetch_assoc($result)) {
                
                $ilesztuk = $row["ilosc"];
                $ilosc = substr($ilesztuk, 0, 1);
                $brutto = $row["brutto"];        
                $wartoscbrutto = $ilosc * $brutto;
Go to the top of the page
+Quote Post
lobopol
post 4.04.2012, 16:01:51
Post #2





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


To tak, zamiast substr używaj rzutowania na float/int
  1. $ilosc = (int)$ilesztuk

Do formatowania liczby służy np. funkcja number_format, w manualu masz dużo przykładów.


--------------------
Go to the top of the page
+Quote Post
kristaps
post 4.04.2012, 16:37:59
Post #3





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

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


Faktycznie, zapomniałem o int, a sprintf("%01.2f", $money) załatwiło sprawę.
Dzięki.

Ten post edytował kristaps 4.04.2012, 16:44:26
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: 22.06.2025 - 14:10