![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 22.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Otóż mam dwie kolumny: ilość i cena (obie typu float)
Wypełniam je przykładowymi wartościami ilość | cena (PLN) 200 | 2 5 | 4.5 56 | 0.7 22 | 7.4 I teraz mnożę kolumny i dodaję wiersze w zapytaniu sql
Otrzymuję wynik: 624.50000143051 A moje pytanie brzmi: Skąd się bierze ta dziwna reszta daleko po przecinku?, skoro normalny wynik takich obliczeń to po prostu 624.5 ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Przeczytaj jak są przetrzymywane liczby zmiennoprzecinkowe to się dowiesz skąd.
Dlatego błędem jest używanie takich pól do trzymania kwot pieniędzy, albo powinno się trzymać w groszach, albo w dwóch osobnych zł i gr, albo używać numeric, który zupełnie inaczej przechowuje te dane (stałoprzecinkowy) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:10 |