我在scala解释器中得到了这个:
scala> val a:Float = 71F; val b:Int = 71; if (a==b) println ("?")
?
a: Float = 71.0
b: Int = 71
Run Code Online (Sandbox Code Playgroud)
我想知道这种比较的确切语义是什么.即使我对Scala有一个肤浅的知识,我猜浮点数运算(在这种情况下,我确保不使用与java的BigDecimal相当的东西,或者至少我认为)适用于这个例子.所以"a"不是持有数字71,因为"b"是,但接近它.
我认为任何整数到浮点比较产生错误会简化事情,但我相信我必须遗漏一些东西.
另外,我想知道这是否会导致代码中的任何错误.
归档时间: |
|
查看次数: |
147 次 |
最近记录: |