Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> floor() zaokrągla do zera
AboutMe
post 15.01.2012, 12:13:37
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
gothye
post 15.01.2012, 12:25:24
Post #2





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

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


zamiast floor użyj round


--------------------
Nie udzielam pomocy poprzez PW
Go to the top of the page
+Quote Post
AboutMe
post 15.01.2012, 12:29:05
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 15.01.2012, 12:33:11
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 ;]


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
AboutMe
post 15.01.2012, 12:34:33
Post #5





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

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


Zwraca cenę np. 35.99 happy.gif
Go to the top of the page
+Quote Post
toaspzoo
post 15.01.2012, 14:01:13
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);


--------------------

LS Easter egg <
Go to the top of the page
+Quote Post
AboutMe
post 15.01.2012, 14:34:03
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 15.01.2012, 14:42:31
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 15.01.2012, 14:51:29
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 15.01.2012, 14:58:11
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 15.01.2012, 15:15:34
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 15.01.2012, 15:35:14
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 07:39