![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 21.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Problem jest nastepujacy. Jest baza danych artykulow. kazdy artykul ma cene. Cena w bazie mysql zapisana jest w nastepujacym formacie:
tysiace,setki.cześci setne, czyli np 1,500.00 (tysiac piecset zlotych zero groszy). Wszystko jest ok, gdy dodaje ceny dwoch artykulow o cenie < 1000. Natomiast gdy wezme artykul o cenie przekraczajacej 1000 zl, to ten tysiac, traktowany jest jak zlotowka, czyli: 1,500.00 + 800.00 = 801.50. Jesli ktoś wie jak zmusic php do zrozumienia akiego zapisu liczb, to bylbym wdzieczny za odpowiedz. Pozdrawiam, GrOcHu. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 223 Pomógł: 1 Dołączył: -- Skąd: Rogożnik /K-ce/ Ostrzeżenie: (0%) ![]() ![]() |
Witam.
A nie możesz kwoty trzymać w jednym polu tabeli? Ustaw pole tabeli jako DECIMAL(10,2) - 2 miejsca po przecinku i po problemie. Mozę dowolnie dodawać pola tej tabeli i zawsze jest dobrze ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Cytat Witam.
A nie możesz kwoty trzymać w jednym polu tabeli? Ustaw pole tabeli jako DECIMAL(10,2) - 2 miejsca po przecinku i po problemie. Mozę dowolnie dodawać pola tej tabeli i zawsze jest dobrze ![]() A gdzie on napisał, że trzyma w dwóch polach? 8O grochu: A nie możesz tego przechowywać w bazie "normalnie" a przecinki dodawać sobie przy wyświetlaniu? Zaoszczędzi Ci to masę kłopotów. -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Użyj pola FLOAT(10,2) - dane zapisujesz rozdzielone przez kropke.
Jest to najlepsze wyjście. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 21.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki wszyskim. Okazalo sie jak zwykle ze to moja wina a nie php. Moj blad polegal na tym, ze uzywalem przy zapytaniu SQL funkcji format(X,Z). W tabeli cena byla jak trzeba w jednym polu. Wywalilem format i dziala jak trzeba. Dzieki jeszcze traz za helpa.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 13.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ja tylko dodam, że wartości pieniężnych nie powinno się NIGDY traktować jako FLOAT (patrz definicja typu).
pozdr. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego?
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.06.2025 - 08:50 |