Witam
Mam problem i nie bardzo wiem jak go rozwiązać.
W pewnym miejscu mojego programu funkcja zwracająca double zwraca wartość przykładowo -2,22044604925031E-16 przyrównując to do 0 niestety otrzymuję false. W innych przypadkach nawet gdy porównanie 2 liczb różni się bardziej niż na 16 miejscu po przecinku (np na 8 miescu po przecniku) porównuje się prawidłowo. Myślę że problem jest w zapisie, jeśli zapis jest w formacie dziesiętnym wszystko jest OK, jeśli jest w formacie wykładniczym już ok nie jest. Nie wiem niestety (i chyba nie mam na to żadnego wpływu) czy zwrócona liczba będzie zapisana w systemie dziesiętnym czy wykładniczym. Czy ktoś się zetknął z podobnym problemem?? Czy ktoś może wie jak się z nim uporać?? Będę wdzięczny za wszelką pomoc.
pozdrawiam