Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> floor() zaokrągla do zera
AboutMe
post
Post #1





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Witam,

Aktualnie używam pluginu WP e-commerce i chciałbym ukryć ułamki używając floor()

użyłem taki kod ale zwraca mi zero:
  1. echo floor(wpsc_the_product_price());


cały kod można zobaczyć tutaj http://code.google.com/p/wp-e-commerce/sou..._page.php?r=524

Czy ktoś wie dlaczego liczby nie są zaokrąglane normalnie?

Ten post edytował AboutMe 15.01.2012, 12:14:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
gothye
post
Post #2





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

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


zamiast floor użyj round
Go to the top of the page
+Quote Post
AboutMe
post
Post #3





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Użyłem takiego kodu:

round(wpsc_the_product_price(), 0, PHP_ROUND_HALF_DOWN);


i mam następujący błąd:
Cytat
<b>Warning</b>: Wrong parameter count for round()
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


wyprintuj samo wpsc_the_product_price() zobaczymy co zwróci ;]
Go to the top of the page
+Quote Post
AboutMe
post
Post #5





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Zwraca cenę np. 35.99 (IMG:style_emoticons/default/happy.gif)
Go to the top of the page
+Quote Post
toaspzoo
post
Post #6





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

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


  1. roud(liczba, ilosc_zer_po_przecinku);
Go to the top of the page
+Quote Post
AboutMe
post
Post #7





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Nie działa, wywala mi błąd Fatal error: Call to undefined function roud()

Ten post edytował AboutMe 15.01.2012, 14:44:26
Go to the top of the page
+Quote Post
melkorm
post
Post #8





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


Przeczytaj to co napisałeś 15 razy i się zastanów ...
Go to the top of the page
+Quote Post
AboutMe
post
Post #9





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Oczywiście round wywala 0:
  1. round(wpsc_the_product_price(), 0);


Ten post edytował AboutMe 15.01.2012, 14:51:51
Go to the top of the page
+Quote Post
melkorm
post
Post #10





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


Zrób gdzieś w kodzie:
  1. var_dump(wpsc_the_product_price(),round(wpsc_the_product_price(), 0) );


Najlepiej w źródle zobacz wynik tego bo widzę że tam jest mix z html'em i pokaż nam co to Tobie wyświetli.

Ten post edytował melkorm 15.01.2012, 14:58:50
Go to the top of the page
+Quote Post
AboutMe
post
Post #11





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Kompletnie zapomniałem o znaku $:

Cytat
string(6) "$2.00"
float(0)


A jest jakaś prosta funkcja która oczyści cenę z wszystkiego poza liczbami, kropkami?

Ten post edytował AboutMe 15.01.2012, 15:20:31
Go to the top of the page
+Quote Post
melkorm
post
Post #12





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


Jeżeli chcesz wszystko prócz liczb i kropki to:
  1. preg_replace('#[^0-9\.]#', "", $cena)


Ale jeżeli tylko na początku masz znak dolara to:
  1. ltrim($cena, '$');


albo substr itp itd

Ten post edytował melkorm 15.01.2012, 15:36:03
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.08.2025 - 12:09