Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Jaki typ kolumny w MySQL do przechowywanie cen z przecinkami.
Giluś
post 28.08.2014, 09:18:57
Post #1





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Hej, jaki wybrać typ kolumny w MySQL do przechowywania wartości z przecinkami ? ( np.: 1.5, 2, 3.5 itd.. )
Obecnie INT usuwa mi wartość za kropką i np.: z 0.5 robi wartość 1, z 1.5 wartość 2 itd..


Pozdrawiam i z góry bardzo dziękuje za pomoc smile.gif
Go to the top of the page
+Quote Post
lukasz_os
post 28.08.2014, 09:21:03
Post #2





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

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


FLOAT lub DOUBLE - poczytaj o różnicach między tymi typami


--------------------
Pomagam jeśli mam czas oraz jak się na tym znam :D
Go to the top of the page
+Quote Post
mmmmmmm
post 28.08.2014, 09:23:30
Post #3





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Ceny - tylko stałoprzecinkowe, czyli np. DECIMAL
Go to the top of the page
+Quote Post
nospor
post 28.08.2014, 09:39:54
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ustaw INT i zapisuj ceny w groszach. Unikniesz durnych problemow zmienno przecinkowych


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Giluś
post 28.08.2014, 11:27:05
Post #5





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Dziękuje bardzo za odpowiedzi i podsunięcie kilku różnych możliwości smile.gif

Pozdrawiam.
Go to the top of the page
+Quote Post
nospor
post 28.08.2014, 11:46:30
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Na Twoim miejscu nie zastanawialbym się na dwoma pierwszymi mozliwosciami. Z doświadczenia ci moge powiedziec, ze bedziesz potem miał rozne dziwne problemy. Lepiej ceny zapisywac w groszach a naprawde unikniesz roznych dzikich kombinacji.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
packa
post 28.08.2014, 13:25:28
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 2
Dołączył: 16.01.2014

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


Ceny zapisujesz w groszach? Nie miałeś nigdy problemów, że np. na fakturze zabrakowało 1gr, w momencie wyliczania netto/brutto ?
Co jeżeli załóżmy masz 88groszy netto wyliczasz brutto i masz 108.24 przy stawce 23% vatu? Zapisujesz w bazie 108? A jeżeli klient dokupił jeszcze 4 produkty również po 88 groszy ale wpis do bazy szedł za każdym razem bo robił to w jakimś tam odstępie czasu? 5x108 !== 5x108.24...
Chyba, że za każdym razem wyliczasz od nowa kwotę brutto z sumy? A w bazie zapisujesz tylko netto i % vatu ? A co jeżeli są różne stawki vat?

Ten post edytował packa 28.08.2014, 13:26:55
Go to the top of the page
+Quote Post
nospor
post 28.08.2014, 20:05:24
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Po pierwsze: nikt tu nie mowil nic o fakturach tylko o cenach. np. cenach produktow. W tym wypadku ulamki nie są do niczego potrzebne.
Zas co do VAT to po co trzymac brutto w bazie? Masz netto, masz vat i wszystko jasne. Po co jeszcze dublowac brutto?

A po trzecie z tego co kojarze to vat podaje sie w zaokrągleniu do groszy, wiec nie moze byc sytuacji 1.5 grosza wink.gif Czyli Twoje 88 groszy netto to defacto 0.88zl netto czyli brutto 1.08zl czyli 108groszy i tada, problemu nie ma.
Nie mniej jednak expertem od VATu nie jestem smile.gif

edit:
o prosze:
Cytat
Kwoty wykazane na fakturze zaokrągla się do dwóch miejsc po przecinku do pełnych groszy. Końcówki poniżej 0,5 grosza pomijamy zaś powyżej 0,5 grosza, zaokrąglamy do pełnego grosza.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mmmmmmm
post 29.08.2014, 07:16:51
Post #9





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Sorry, ale albo piszesz bzdury, albo nigdy faktury za prąd nie widziałeś.
Go to the top of the page
+Quote Post
MaroZ
post 29.08.2014, 07:38:02
Post #10





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 28.08.2014

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


Z tego co wiem każdą kwotę tego typu zaokrągla się do grosz, przecież nie da się zapłacić 0,5 gr.
Go to the top of the page
+Quote Post
Pyton_000
post 29.08.2014, 07:38:23
Post #11





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Do celów fv przetrzymuje się ceny do 4 miejsc po , a wystawiając dokument zaokrągla się je do 2 miejsc. Ot...
Go to the top of the page
+Quote Post
nospor
post 29.08.2014, 07:53:04
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat(mmmmmmm @ 29.08.2014, 08:16:51 ) *
Sorry, ale albo piszesz bzdury, albo nigdy faktury za prąd nie widziałeś.

Jak juz pisalem znawcą faktur nie jestem. Bardzo chętnie się dokształce w tym temacie, więc jak masz coś mądrego do powiedzenie to chętnie posłucham. smile.gif
Tak wiec, czemu nie moge w bazie trzymac ceny netto i stawki VAT? Czemu w bazie musze trzymac jeszcze cene BRUTTO i to do 4 miejsc po przecinku?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 22.06.2025 - 04:34