![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 18.06.2008 Skąd: Reda Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Nie mogę sobie poradzić z pewnym niezrozumiałym zachowaniem pętli if. Poniższa funkcja m.in. dodaje zera do wartości liczbowych np. z $cena="6,2" robi $cena="6,20"
Problem polega na tym, że dla przykładowych wartości: "644,6", "322,3" w niektórych sytuacjach, wskazane ww porównanie nie reaguje na te liczby. Liczby te powstają z działania "64,46*10" oraz "64,46*5". Pokusiłem się o testową wersję kodu:
i ten kod zadziałał prawidłowo. Mogę dodać, że wartości brane przez funkcję będące wynikiem matematycznym chodzą dobrze, a będące daną z mySQL'a już nie. Analizowałem linia po linii odpowiedniej sekcji z pokazywaniem wartości chwilowych i wszystkie wyglądają prawidłowo. Jak myślicie, gdzie mam szukać przyczyny takiej sytuacji? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
że tak niedyskretnie spytam, co robi ta funkcja:)?
Czy przez przypadek niewynajdujesz jeszcze raz "koła". W php sa specjalne funkcje formatujace echo number_format("234.3", 2, ',', ' '); http://pl.php.net/number%20format http://pl.php.net/sprintf -------------------- śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu.. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
przyjacielu strasznie to masz zawiłe
![]() Kod <?php
function cena($cena, $config = false) { if ($config) { # Konwersja z trybu tekstowego na obliczeniowy # ... } else { # Konwersja z trybu obliczeniowego na tekstowy $cena = str_replace(',','.',$cena); $cena = sprintf("%01.2f", $cena); } return $cena; } ?> -------------------- |
|
|
![]()
Post
#4
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
przyjacielu strasznie to masz zawiłe ![]() ale jeszcze prościej użyć gotowych funkcji, co jest również bardziej wydajniejsze. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
ale jeszcze prościej użyć gotowych funkcji, co jest również bardziej wydajniejsze. no wiesz nie wiem co autor piszący funkcję cena miał na myśli z tym parametrem config, wiec nie przerabiałem zbytnio jego wypocin ![]() -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
okitoki, to czytaj dokładniej. Ładnie w komentarzu przy kodzie pisze.
Cytat # Konwersja z trybu tekstowego na obliczeniowy Nie wiem, ale moderatorzy powinni Ci się przypatrzeć, bo jak czytam twoje posty to mam dziwne wrażenie że nabijasz sobie po prostu licznik ... -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
okitoki, to czytaj dokładniej. Ładnie w komentarzu przy kodzie pisze. Nie wiem, ale moderatorzy powinni Ci się przypatrzeć, bo jak czytam twoje posty to mam dziwne wrażenie że nabijasz sobie po prostu licznik ... bim2 czasami staram się pomóc, czasami piszę swój pomysł, a co do licznika jest za to jakaś nagroda ? ciężko analizować fragmenty kodu, a z kropek i komentarzy nie wynika co autor ma na myśli i co autor za to wsadzi, wiec zostawiłem to bez zmian. -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
maly_swd napisał poprawne rozwiązanie. I teoretycznie na tym topic powinien się zakończyć. Jednak ty postanowiłeś, że inteligentnie będzie dopisać coś swojego i pokazać że potrafisz. Zresztą nie musisz mi się tłumaczyć, masz dwa ładne ostrzenia, a wydaje mi się, że ciężko je zdobyć :] Przynajmniej mi się nie udało. (może coś się zmieni?).
Później tłumaczysz się że nie wiedziałeś itd. Tłumaczą się winni. Przykro mi ale to że "czasami piszesz swój pomysł" nie wystarcza. Trzeba jeszcze pomyśleć czy użytkownikowi nei namieszasz w głowei 10 rozwiązaniami. Teraz pewnie nie wejdzie w manual bo po co jak Ty podałeś mu rozwiązanie. I tak rodzi się kolejny ignorant, który będzie myślał, że każdy poda mu wszystko na tacy (Nie mam nic do bulimaxiu, po prostu zazwyczaj tak jest. Z czasem zobaczymy). Nie, nie jest ciężko analizować fragmenty, kiedy autor SPECJALNIE zostawił komentarz do kodu, żeby każdy zrozumiał o co autorowi posta chodzi. Po ifce i komentarzach można było dojść do czego służy funkcja cena(). -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
maly_swd napisał poprawne rozwiązanie. I teoretycznie na tym topic powinien się zakończyć. Jednak ty postanowiłeś, że inteligentnie będzie dopisać coś swojego i pokazać że potrafisz. Zresztą nie musisz mi się tłumaczyć, masz dwa ładne ostrzenia, a wydaje mi się, że ciężko je zdobyć :] Przynajmniej mi się nie udało. (może coś się zmieni?). no tak nasze odpowiedzi się pokryły, jak zacząłem pisać swoją to jeszcze nie było posta maly_swd -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 18.06.2008 Skąd: Reda Ostrzeżenie: (0%) ![]() ![]() |
Witajcie.
Cóż, licznika nie nabijam, a poza tym nie śmiał bym zaśmiecać forum tylko dla jakiś ilości. Kropki to część kodu, która tu nie ma znaczenia po prostu. $config to przełącznik funkcji (oblicz-> tekst, czy tekst-> oblicz). Jeszcze nie znam wielu funkcji, na razie praktykuję i odkrywam coraz to nowe rzeczy. Jak znam życie rozwiązania Wasze spełnią swe zadanie i na pewno to zapamiętam. Może jeszcze powinienem pisać w przedszkolu. I raczej myślę, że EOT. Pozdrawiam. Sebastian |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 18 Dołączył: 25.04.2009 Ostrzeżenie: (20%) ![]() ![]() |
Witajcie. Cóż, licznika nie nabijam, a poza tym nie śmiał bym zaśmiecać forum tylko dla jakiś ilości. Kropki to część kodu, która tu nie ma znaczenia po prostu. $config to przełącznik funkcji (oblicz-> tekst, czy tekst-> oblicz). Jeszcze nie znam wielu funkcji, na razie praktykuję i odkrywam coraz to nowe rzeczy. Jak znam życie rozwiązania Wasze spełnią swe zadanie i na pewno to zapamiętam. Może jeszcze powinienem pisać w przedszkolu. I raczej myślę, że EOT. Pozdrawiam. Sebastian spoko ![]() ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 18:32 |