Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] iloczyn / zamiana znaków
Forum PHP.pl > Forum > Przedszkole
tomekpl
Jak zamienić w php, aby z formularza, który wyśle liczbę 3,12 zamienił na 3.12 ,
ponieważ w mnożeniu nie czyta 3,12 * 5, tylko 3 * 5

Co poradzicie?questionmark.gif
Shili
Cytat
Co poradzicie?

Zacząć myśleć i używać manuala. Jak będziesz tu biegał z każdą pierdołą, to gratuluję, do tej pory każdy z Twoich tematów można rozwiązać w pięć minut dzięki zwykłym wyszukiwarkom.

str_replace" title="Zobacz w manualu PHP" target="_manual

@down
Ze swojego doświadczenia mogę poradzić, że nie ma sensu programować, jak się jest zbytnio zmęczonym (czyli również po za dużo na raz). Lepiej sobie odpocząć niż potem poprawiać potworki które wychodzą (a u mnie potrafiło ich wychodzić aż nadto winksmiley.jpg)
tomekpl
Sorry, znam problem, ale jakoś z myśleniem dzisiaj nie w parze z prostymi rzeczami, za dużo naraz.
----------------------------------------------------

ma taki kod:

Kod
$zuzycie_jednostki = $_POST['zuzycie_jedn'];
function replace($zuzycie_jednostki) { $strings_1 = array(','); $strings_2 = array('.'); return str_replace('$strings_1', '$strings_2', $zuzycie_jednostki); }


Ale nie działa, gdy wpiszę 3,12 to dodaje 3,12

Kod następny:

Kod
$zuzycie_jednostki = $_POST['zuzycie_jedn'];
$strings_1 = array(',');
$strings_2 = array('.');
$zuzycie_jedn = str_replace('$strings_1', '$strings_2', $zuzycie_jednostki );


To samo co wyżej, moze coś z php.ini? na domowym serwerze testuje VertrigoServ
Shili
Po co tworzysz jednoelementowe tablice?

  1. <?php
  2. $zuzycie_jednostki = $_POST['zuzycie_jedn'];
  3. $zuzycie_jedn = str_replace(',', '.', $zuzycie_jednostki );
  4. ?>

U mnie bez problemu działa, w razie czego możesz sobie to jeszcze w wyrażeniu rzutować na (float)
Upewnij się, że później używasz już tylko zmiennej $zuzycie_jedn oczywiście.

Jeszcze jedno - wyrażenie '$zmienna' nie podstawi Ci wartości zmiennej, tylko potraktuje jak ciąg znaków o wartości $zmienna.
Poczytaj sobie o cudzysłowach w manualu w funkcji echo.

@kolejny edit
Swoją drogą można to skrócić
  1. <?php
  2. $zuzycie_jedn = str_replace(',', '.', $_POST['zuzycie_jedn'] );
  3. ?>
Pride
Nie wiem, czy dobrze Ci podpowiem dlatego, że chce mi się zabójczo spać a jak ktoś mówił wyżej nie powinno się w takim stanie pracować :/

  1. <?php
  2. $cos = $_POST['zuzycie_jedn'];
  3. $cos = str_replace(',', '.', $$_POST['zuzycie_jedn']);
  4. ?>

Jeżeli danych z post>1 to przekręcić to pętelką.

Ok jak już mówiłem teraz czas na sen...
Dobranoc.
tomekpl
Dzięki, wszystko działa ;]

a co do odbierania post to mam:
$zuzycie_jednostki = trim(HTMLSpecialChars($_POST['zuzycie_jedn']));
tak dla bezpieczenstwa
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.