Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 0 Dołączył: 30.07.2006 Skąd: Łódź Ostrzeżenie: (0%)
|
Witajcie,
Mam w bazie danych serię danych. Są to liczby zapisane w polu typu varchar z przecinkiem jako znak dziesiętny. Do wyświetlania tych danych nie stanowiło to problemu. Niestety teraz trzeba to sumować. Niby zadanie proste. Wybrałem sposób z funkcją str_replace, a następnie wynik funkcji dodaję i już. I wszystko byłoby pięknie, gdyby nie suma, która się wyświetla. Otóż pojawią się tam po kilku miejscach po przecinku 1. w danych tego nie ma. Zacząłem sprawdzać po stronie bazy danych. Wynik zapytania select sum(replace(pole, ',', '.') from tabela; daje ten sam efekt. Co jest grane?(IMG:style_emoticons/default/questionmark.gif) |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
Naprawdę uważasz, że VARCHAR to dobry typ dla liczb zmiennoprzecinkowych?
https://www.google.com/search?q=liczby+zmie...zecinkowe+błędy Jeśli chcesz mieć superdokładność, to https://dev.mysql.com/doc/refman/8.0/en/fix...oint-types.html, jeśli nie, i akceptujesz takie błędy, to nadal lepszym typem będzie FLOAT lub DOUBLE. |
|
|
|
busterek Bardzo dziwna suma 28.06.2018, 21:45:25
busterek Pracuję na takich danych, jakie dostałem. Poprawia... 28.06.2018, 22:00:12
Pilsener CytatPoprawiam trochę interfejs aplikacji napisane... 1.07.2018, 09:50:15 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 16:54 |