object Test { def main(args: Array[String]) { import scala.math.Numeric import scala.math.Numeric.Implicits._ val b = BigInt(Long.MaxValue) + 1 def dbl[N :Numeric](n: N) = n.toDouble def flt[N :Numeric](n: N) = n.toFloat println(dbl(b) == b.toDouble) println(flt(b) == b.toFloat) } }