Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zaokrąglone liczby i serializacja
adam882
post
Post #1





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

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


Witam

Przykladowo posiadam wartość w tablicy, którą zaokrąglam do jednego miejsca po przecinku:

  1. $tablica['srednia'] = round($wynik, 1);


Tablica wygląda tak:

Array
(
[srednia] => 42.9
)

Problem pojawia się w momencie, gdy chcę tego typu tablicę zapisać do bazy danych w formie zserializowanej.

  1. $do_zapisu_w_mysql = addslashes(serialize($tablica));


Okazuje się, że mimo użycia round(), zapisuje się w bazie liczba 42.89999999999999857891452847979962825775146484375 zamiast 42.9 .
Niby nie jest to poważny problem, ale przez tak długą i niepotrzebną liczbę, rekordy w bazie mogą niepotrzebnie zajmować więcej miejsca.

Jak można zrobić, aby zapisana w tablicy wartość do bazy była zaokrąglona?
I tak na marginesie chciałbym też zapytać się, czy po serializacji i przed dodaniem wartości do bazy warto zabezpieczyć ją dodatkowo funkcją addslashes() dla pewności ?


Pozdrawiam!





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: 1.10.2025 - 10:35