在OCaml中,比较整数
0
和整数0
会返回true
;
然而,比较浮点数0.
和0.
会返回false
:# 0 == 0;;
- : bool = true
# 0. == 0.;;
- : bool = false
如何正确比较浮点数?
0
和整数0
会返回true
;
然而,比较浮点数0.
和0.
会返回false
:# 0 == 0;;
- : bool = true
# 0. == 0.;;
- : bool = false
如何正确比较浮点数?
==
,在日常代码中请使用=
。# 0 = 0;;
- : bool = true
# 0.0 = 0.0;;
- : bool = true
对于不等式,请使用<>
。 !=
运算符用于“物理不等式”,在日常代码中也应该像瘟疫一样避免使用。
# 0 <> 0;;
- : bool = false
# 0.0 <> 0.0;;
- : bool = false
<>
。我会更新我的答案。 - Jeffrey Scofield