Reputation: 1407
In OCaml, comparing Integer 0
with Integer 0
returns true
;
however, comparing Float 0.
to Float 0.
returns false
:
# 0 == 0;;
- : bool = true
# 0. == 0.;;
- : bool = false
How does one compare floats correctly?
Upvotes: 4
Views: 4878
Reputation: 66823
Don't use ==
, which is a specialized "physical equality". Use =
for everyday code.
# 0 = 0;;
- : bool = true
# 0.0 = 0.0;;
- : bool = true
For inequality, use <>
. The !=
operator is for "physical inequality", which should also be avoided like the plague in everyday code.
# 0 <> 0;;
- : bool = false
# 0.0 <> 0.0;;
- : bool = false
Upvotes: 7