Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] IF, less or equal, nie działa :/
Tryllion
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 29.07.2009

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


Witam

Mam taki kod i nie rozumiem co może być źle, jak znaleźć error (IMG:style_emoticons/default/sciana.gif)

  1. IF( $val == $row->v ) {
  2. echo ' TAK';
  3. continue;
  4. }
  5. echo 'NIE'; continue;

ten if jest wywoływany w pętli while, nie rozumiem dlaczego ale czasem liczby o przecinkowej precyzji wcale nie są wykrywane jako równe (IMG:style_emoticons/default/exclamation.gif) !
Co może być tego przyczyną ? Czy to nie są wartości typu int tylko String np. jak to sprawdzić, co może być źle ?

proszę o wskazówki bo naprawdę nie rozumiem
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Tryllion
post
Post #2





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 29.07.2009

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


IF ma taką formę bo uciąłem wiele z niego i wkleiłem na forum to co istotne.

Dodałem (float) przy obu wartościach, nadal nie wykrywa, co ciekawe funkcja jest wywoływana w pętli i za pierwszym razem działa.
Przy drugim wywołaniu:
  1. FOR($i=1.0; $i<2; $i+=0.1) {
  2.  
  3. compare_va($i,$i+0.1); // tu się dzieją rózne rzeczy, i między innymi zostaje porównany argument 1 z innym wyciągniętym z bazy
  4.  
  5.  
  6. }
już nie działa, i wszystko jest NIE, za pierwszym równe elementy wykrywa, co może się zmienić w tym czasie, zapis zły ?

EDIT:
zmieniłem wartości na bardziej przystępne, w bazie są co 0.01 a pętla co 0.1 , teoretycznie co 10 powinno wykryć ale wykrywa tylko za 1 wywołaniem tej funkcji !?!
Np. 1.1 jest taki sam jak 1.1
ale już 1.2 nie z 1.2 ! nie rozumiem...

Ten post edytował Tryllion 28.10.2009, 21:27:31
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 02:26