![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
witam, mam dziwny problem z konwertowaniem zmiennych string na zmienna float.
Otóż pobieram sobie z innej strony taki kawałek stringa DJIA 22:04 12 800.26 -2.00 string[1] = DJIA string[2] = 22:04 12 string[3] = 800.26 string[4] = -2,00 problem jest ze stringieg[4] chce żeby to była liczba zmienno przecinkowa -2.0 najpierw zamieniam przecinek na kropke w taki sposób:
php traktuje to jako liczbe 0 a stringa -2.00 potem robie tak:
efekt jest liczba 1 proszę o pomoc jak to naprawić dodam że potrzebuje to do porównywania i przydzielania kolorów jeśli string[4]>0 kolor czerowny jeśli string[4]<0 kolor zielony w przeciwnym wypadku kolor czarny czcionki. z góry dziękuje |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
U mnie działa. Upewnij się, że zmienna $string[4] przechowuje dokładnie "-2,00". Może zawiera jeszcze jakieś śmieci, albo myślnik jest zrobiony przy pomocy — czy czegoś takiego. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
hmm, to całkiem możliwe, a jak to sprawdzić czy coś tam jest i ewentualnie zmienić to na liczbę.
Dodam że mam też liczbe 2,00 i tak samo jest wyświetlana jako 0 przy tej konwersji string[1] = DJIA string[2] = 22:04 12 string[3] = 800.26 string[4] = 2,00 daje:
potem daje:
efekt jest: 0 nie mam pojęcie jak to rozgryźć odświeżam temat bo został bez odpowiedzi |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 12 Dołączył: 27.01.2007 Skąd: north Poziom: 158 Tytuł: Miszcz Ostrzeżenie: (0%) ![]() ![]() |
daje efekt:
drugie wywołanie:
daje efekt:
Więc kod jest na 100% dobry, błąd najwyraźniej musi siedzieć gdzie indziej. Sprawdź jeszcze raz moje kody czy u ciebie też dają taki wynik. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
to działa bez problemu, tylko ja swoje dane zczytuje ze strony i nie wiem czy nie ma tam jakiś śmieci a nie wiem jak to zamienić na faktyczną liczbe. Widoczna string -2.00 może faktycznie być czymś innym i tak jest właśnie po przekonwertowaniu na liczbe
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
No to wyświetl sobie zmienną $string[4] potraktowaną funkcją: trim" title="Zobacz w manualu PHP" target="_manual, htmlentities" title="Zobacz w manualu PHP" target="_manual, strlen" title="Zobacz w manualu PHP" target="_manual czy też:
i przeanalizuj wyświetlone informacje. Ten post edytował Kicok 14.01.2008, 15:58:16 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
probuje je przeanalizować ale ni jak mi to nie idzie, zobaczcie sami
kod:
efekt bardzo dziwny: 0.90 - 9 - 9 - 9 - 9 - 9 - 9 - 9 - 9 - 9 - 9 < - 60 t - 116 d - 100 - 32 c - 99 l - 108 a - 97 s - 115 s - 115 = - 61 " - 34 q - 113 u - 117 o - 111 t - 116 0 - 48 u - 117 p - 112 " - 34 - 32 a - 97 l - 108 i - 105 g - 103 n - 110 = - 61 " - 34 r - 114 i - 105 g - 103 h - 104 t - 116 " - 34 > - 62 < - 60 b - 98 > - 62 0 - 48 . - 46 9 - 57 0 - 48 < - 60 / - 47 b - 98 > - 62 < - 60 / - 47 t - 116 d - 100 > - 62 - 13 - 10 proszę niech mi ktoś to wyjaśni |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
I popatrz się w źródło strony. Oprócz liczby zobaczysz też tagi HTML, białe znaki i inne "śmieci" o których wspominałem wyżej. Teraz możesz poczytać o funkcjach trim" title="Zobacz w manualu PHP" target="_manual i strip_tags" title="Zobacz w manualu PHP" target="_manual |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
LOL już wiem co tam siedzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) dzięki wielkie
<td class="quot0up" align="right"><b>1.09</b></td> jest może jakaś funkcja co wyciągnie mi to co jest pomiędzy tymi tagami, bo na chwile obecną wyciągam to funkcją substr() ale ma to swoje minusy bo jak jest liczba -2.00 to jest ok a jak jest 2.00 to już lipa no i sam napisa class =" to się też zmenia" |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 12:53 |