Dlaczego je�li zdefiniuj� pole jako float(9,2)
To po wpisaniu w nie liczby 999999.99 zapisuje siďż˝ ona w nim jako
1000000.00?
Potrzebuj� pola, w kt�rym b�d� m�g� przechowywa� liczb� do 9 999 999,99
(dok�adno�� 2 miejsca po przecinku).
Prosz� uprzejmie o wyt�umaczenie problemu.
"Srututu" <srut...@o2.pl> wrote in message
news:gtmame$37v$1...@news.onet.pl...
>
> Potrzebuj� pola, w kt�rym b�d� m�g� przechowywa� liczb� do 9 999 999,99
> (dok�adno�� 2 miejsca po przecinku).
To powinno byc DECIMAL(9,2). Wygl�da na to, �e potrzebujesz sta�ej
precyzji, a nie zmiennej.
Pozdrawiam,
Jakub Wr�blewski
--
Infobright Community Edition:
Open Source Data Warehousing
http://www.infobright.org
Tak zrobi�em. Ale czy jest gdzie� wyt�umaczone w ojczystym j�zyku o co
chodzi z tym FLOAT?
"Srututu" <srut...@o2.pl> wrote in message
news:gtmhqo$pio$1...@news.onet.pl...
Typy zmiennoprzecinkowe (float, double) s� z za�o�enia typami
przybli�onymi. Operacje na nich podlegaj� r�nym zaokr�gleniom i taki
drobiazg, jak przesuni�cie jednej cyferki na ostatniej pozycji nikogo nie
dziwi i nikomu nie powinno przeszkadza�. Je�li przeszkadza, bo to np.
pieni�dze, kt�re musz� si� zgadza� do grosza - to u�ywamy typ�w
sta�opozycyjnych, jak decimal.
Przyk�ad: na danych typu float operacja 1.0 + 5.0 mo�e da� np.
6.000000001. Zakres float to jakie� 7 cyfr znacz�cych, wi�c mniej, ni�
potrzebujesz (czyli 9).
Pozdrawiam,
Jakub Wr�blewski