float i przyrównanie do 0

0

Cześć.
Mam liczbę typu float np
float a = 0.0052;
I chcę sprawdzić, czy jest ona równa zero.

Aktualnie robię tak:

if (int(round(a*100)) == 0)
...

Obawiam się jednak, że liczba jaka wyjdzie z round() nie zmieści się do typu int.

  • Precyzja do dwóch miejsc po przecinku.

Jak to zrobić poprawnie?

1

abs, float, comparsion, epsilon.. no wiesz, gdybyś jednak spróbował użyć Google.

0

No ok, dodam jeszcze fabs, żeby wykluczyć -0. Jednak to nie rozwiewa mojej wątpliwości:

Obawiam się jednak, że liczba jaka wyjdzie z round() nie zmieści się do typu int.

2

to klepiesz fabs(a) < 0.01 i masz wynik, czyż nie?

1 użytkowników online, w tym zalogowanych: 0, gości: 1