Forum Coders' city Strona G³ówna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   U¿ytkownicyU¿ytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj siê, by sprawdziæ wiadomo¶ciZaloguj siê, by sprawdziæ wiadomo¶ci   ZalogujZaloguj 

Potrzebujê szybkiej odpowiedzi na moje pytanie... Zasady

Dodawanie cen w p?tli - b??d



 
Odpowiedz do tematu    Forum Coders' city Strona G³ówna -> PHP
Zobacz poprzedni temat :: Zobacz nastêpny temat  
Autor Wiadomo¶æ
nillvo



Do³±czy³: 10 Cze 2009
Posty: 67

PostWys³any: Pon Kwi 09, 2018 11:21 am  OP    Temat postu: Dodawanie cen w p?tli - b??d Odpowiedz z cytatem Pisownia

Witam,
Pisz?, gdy? problem pozornie banalny od kilku dni nie daje si? rozwi?za?. Nie jestem w stanie poprawnie doda? cen. W bazie maj? one tak? posta?:

1 174,00
2 853,60
1 881,90

Próbowa?em na ró?ne sposoby - wynik jakie daje kod to 4. Co gorsza, próbowa?em usun?? spacj? - w celu eliminacji b??du (wida? dodaje tylko pierwsz? cyfr?) - ale si? nie da (trim, preg, replace - nie dzia?aj?).

Kod:

        if ($pobierz->num_rows > 0) {
            while($row = $pobierz->fetch_assoc()) {
                $IDD = $row['NUMER_ZAMOWIENIA'];
        $KASA = pobierz_dane_z_bazy("SELECT * FROM um_zamowienia WHERE ID='$IDD' AND STATUS <> 'oferta' AND STATUS <> 'wp?ata'","KOSZT");
                $KASA = str_replace(' ', '', $KASA); //nie dzia?a
                $TEMP = preg_replace('/\s+/', '', $KASA); //nie dzia?a
                $TEMP = trim($TEMP); //nie dzia?a
                echo $TEMP.','; // efekt przyk?adowo: 1 174,00 (ze spacj?!)
    $value += (float)$TEMP;
            }



$value zwraca wynik 4.
Próbowa?em z (string) albo (float), (double) Efekt ten sam. Za?amka.
W jaki sposób poprawnie doda? w p?tli liczby w tym formacie?

1 174,00
2 853,60
1 881,90
Powrót do góry
Zobacz profil autora Wy¶lij prywatn± wiadomo¶æ
Garf



Do³±czy³: 25 Maj 2005
Posty: 3607
Sk±d: Rzeszów

PostWys³any: Pon Kwi 09, 2018 1:03 pm      Temat postu: Odpowiedz z cytatem Pisownia

Ech...
Primo - przecinek jest u?ywany do zapisu liczb z u?amkiem tylko w niektórych krajach. W pozosta?ych u?ywa si? kropki - i tutaj powiniene? jej u?y? zamiast przecinka.
Secundo - nie pro?ciej by?oby zrobi? SUM() w SQL'u?
Tertio - nie wiadomo w jaki sposób tworzona jest warto?? wynikowa funkcji pobierz_dane_z_bazy(). Mo?e lepiej tutaj poprawi? zwracan? warto?? ni? bawi? si? z tym pó?niej?

i dziwne, u mnie dzia?a:
Kod:
$ php
<?php
$KASA = '1 174,33';
$KASA = str_replace(' ', '', $KASA); //nie dzia?a
$TEMP = preg_replace('/\s+/', '', $KASA); //nie dzia?a
$TEMP = trim($TEMP); //nie dzia?a
echo $TEMP."\n";
$value = (float)$TEMP;
echo $value."\n";

1174,33
1174



Nie wiemy jaka wersja PHP, jakie ?rodowisko, czy nie ma ogranicze? w dozwolonych funkcjach...

_________________
Internet nadal „nic nie rozumie”, ?adnego odkrycia, cho?by od niego zale?a? los ?wiata,
ale nadanego w egzotycznym j?zyku, nie odró?ni od nieco mniej wa?nej wie?ci,
?e u ciotki w placku z jab?kami zrobi? si? w piekarniku zakalec.
Stanis?aw Lem
Powrót do góry
Zobacz profil autora Wy¶lij prywatn± wiadomo¶æ
nillvo



Do³±czy³: 10 Cze 2009
Posty: 67

PostWys³any: Pon Kwi 09, 2018 1:54 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Dzi?ki za odpowied?. Pomog?a zmiana typu zmiennej w bazie na double, zamiana przecinek na kropki (niestety system ci?gnie dane z nieszcz?snej OPTIMY, a tam format cen zawiera przecinki). Teraz sumuje za pomoc? SUM i wszystko ?miga. Dzi?ki za pomoc :)
Powrót do góry
Zobacz profil autora Wy¶lij prywatn± wiadomo¶æ
Wy¶wietl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona G³ówna -> PHP Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Mo¿esz pisaæ nowe tematy
Mo¿esz odpowiadaæ w tematach
Nie mo¿esz zmieniaæ swoich postów
Nie mo¿esz usuwaæ swoich postów
Nie mo¿esz g³osowaæ w ankietach
Mo¿esz dodawaæ za³±czniki na tym forum
Mo¿esz pobieraæ pliki z tego forum




Debug: strone wygenerowano w 0.04798 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |