Pracuję nad małym sklepem internetowym i staram się uzyskać najniższą cenę produktu (zdjęcia).dziwna wartość języka SQL()
więc sprawdzić, co najniższa cena jest dodawany (Zdjęcia można zamówić w różnych rozmiarach):
SELECT
MIN(price) as price
FROM
rm_prices
WHERE
photo_id = '47' AND
price != '0'
ta zwraca najmniejszą wartość znalezionych dla tego produktu.
Kiedy sprawdzam swoją bazę danych, widzę, że najniższa wartość to 1256,3.
Po wydrukowaniu wyniku otrzymam numer 1256.30004882813.
Wartość jest ustawiona jako FLOAT.
Dlaczego wynik jest 1256.30004882813, a nie 1256.3?
Sprawdź to, bardzo ważne jest, aby wiedzieć, jak działa arytmetyka FLOATING point, ponieważ zadziwi Cię, jeśli założysz, że zawsze jest "idealnie dokładna" ... http://citeseerx.ist.psu.edu/ viewdoc/summary? doi = 10.1.1.22.6768 – MatBailie