欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Scala浮点数比较

程序员文章站 2022-03-30 16:39:54
...

同Java一样,两个相等的浮点数比较并不一定能得到相等的结果,但是可以使用精度的方式实现两个浮点数是否相等,eg.

def ~=(x: Double, y: Double, precision: Double) = {
    if ((x - y).abs < precision) true else false
  }

  def main(args: Array[String]): Unit = {
    val a = 0.3
    val b = 0.1 + 0.2
    println(b)
    println(~=(a, b, 0.000001))
  }

输出如下:

0.30000000000000004
true