Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Porównanie typów. Konwersja string do float.
007slawek
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 18.04.2002
Skąd: Warszawa

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


Mam coś takiego:

  1. $a = (float) "27.8000";
  2. $b = (float) "27.9000";
  3. $c = (float) "0.10";
  4.  
  5. $d = $b - $c; //To powinno być równe $a
  6.  
  7. var_dump($a); // zwraca : float(27.8)
  8. var_dump($d); // zwraca : float(27.8)
  9.  
  10. if($a == $d){
  11. echo 'true';
  12. }
  13. else{
  14. echo 'false';
  15. }

Niestety porównanie $a z $d daje false mimo tego, że var_dump pokazuje te same typy i te same wartości.
Użycie
  1. if($a === $d)
też zwraca false.
Dopiero jak wstawię przed var_dump np.

  1. $a = round($a,4);
  2. $d = round($d,4);


to wtedy porównanie zwraca true a var_dump w obu przypadkach bez zmian pokazuje float(27.8).

Ktoś mi wytłumaczy o co chodzi, bo chyba jeszcze śpię?

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: 17.09.2025 - 07:40