Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MySQL - automatyczne zaokrąglanie floatów?
Forum PHP.pl > Forum > Bazy danych > MySQL
ylk
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 :]
Crozin
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.