Tak, ja wiem na czym polega zaokrąglanie itd. Przykładowo nigdy w kodzie nie znadziemy u mnie dla floata:
if (x == 1.02)
zawsze będzie wymuszenie przedziału z uwzględnieniem dokładności.
Jestem poinformowany o tym, że zapis binarny nie zawsze jest możliwy dla zapisu dziesiętnego (części ułamkowej).
Kłopot jednak w tym, że MySQL dla floata nie przeszkadza zaokrąglanie nawet liczb dziesiętnych np. 12345678 zostaje ucięte i pojawia nam się zero zamiast pełnej liczby. Kłopot jest tym większy, że MySQL przechowuje prawidłowo zapisaną wartość, ale niechlujnie zwraca ją obciętą (przybliżoną). Po prostu pomiędzy skryptem a bazą danych już w chwili zwracania, zwracana jest wartość bezprawnie zaokrąglona.
I tu moje pytanie: jak zmusić MySQL, żeby zwracał mi pełne rozwinięcie liczby, dokładnie tak jak jest ona zapisana wewnątrz bazy, bez stosowania jakichkolwiek zaokrągleń i zaokrąglenia pozostawi mi.
Offtop.
Co do zaokrąglania cen, to tutaj tesco pobiło wszystkie faktury z "błędami' jakie do tej pory widziałem. Tam na fakturze dostałem w podsumowaniu zsumowane wszystkie kolumny z wartością brutto, wartością netto i podatkiem VAT. To jest po prostu jakaś kpina, bo z podsumowania wynikało, że NETTO+VAT != BRUTTO ;). Ktoś poszedł kompletnie na łatwiznę i wszystko zsumował, zamiast prawidłowo na końcu rozbić wszystkie kwoty brutto na poszczególne stawki VAT (akurat ja miałem wszystko 23%), następnie z uzyskanych wartości obliczyć podatek i kwotę netto bez wdawania się w sumowanie tego co jest przy poszczególnych produktach, bo tak się nie robi z powodu możliwych powstających błędów zaokrągleń.