float i przyrównanie do 0

2011-09-06 21:45
asg
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?

edytowany 1x, ostatnio: madmike, 2016-12-13 18:26

Pozostało 580 znaków

2011-09-06 21:47
Rev
1

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


Pozostało 580 znaków

2011-09-06 21:50
sa
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.

Pozostało 580 znaków

2011-09-06 21:56
2

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


Nie wiem czy się śmiać czy płakać, skoro pytają o tak łatwe rzeczy... Tak czy siak +1 - payl 2011-09-06 22:48

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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