Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MySQL - FLOAT (M,D) - proszę o wytłumaczenie

151 views
Skip to first unread message

Srututu

unread,
May 4, 2009, 4:57:45 AM5/4/09
to
Czy mo�e mi kto� wyt�umaczy� o co chodzi z tym M,D w definicji pola FLOAT?

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.

Jakub Wróblewski

unread,
May 4, 2009, 6:32:31 AM5/4/09
to
Witam,

"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

Srututu

unread,
May 4, 2009, 6:59:32 AM5/4/09
to

>> 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.

Tak zrobi�em. Ale czy jest gdzie� wyt�umaczone w ojczystym j�zyku o co
chodzi z tym FLOAT?

Jakub Wróblewski

unread,
May 4, 2009, 7:57:53 AM5/4/09
to
Witam,

"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

0 new messages