Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MySQL - automatyczne zaokrąglanie floatów?
ylk
post 8.03.2011, 12:33:43
Post #1





Grupa: Zarejestrowani
Postów: 194
Pomógł: 26
Dołączył: 9.01.2011
Skąd: /dev/null

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


Borykam się z pewną dziwną kwestią... Wyliczam sobie wartość faktury, która w tym konkretnym przypadku wynosi 578.2815. Następnie robię update tabeli w celu zapisania tej wartości, podglądam phpMyAdminem i okazuje się, że do bazy wpisał 578.281, czyli bezczelnie zeżarł mi ostatnią cyfrę. Niby drobiazg, ale w skali roku przez to mogą wynikać spore nieścisłości w statystykach. O co tu chodzi?

EDIT: przestawiłem typ pola na real i jest ok. Niemniej jednak zastanawiające zachowanie MySQLa :]

Ten post edytował ylk 8.03.2011, 12:40:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Crozin
post 8.03.2011, 13:22:09
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Nie zastanawiające, tylko w pełni normalne - taka jest natura typów zmiennoprzecinkowych. Typy te mają to do siebie, że nie można polegać na ich dokładnej wartości dziesiętnej ponieważ nie ma gwarancji, że będzie ona w ogóle poprawna.

W przypadku takich operacji w MySQL powinieneś użyć typu DECIMAL.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:39