scala.math.BigDecimal
如何隐式转换为scala.math.Numeric
?
例如:for Int
隐式转化链的跟踪方式如下:Int
到RichInt
(Predef
中定义的转化)和方法
protected implicit def num: Numeric[T]
来自父类scala.runtime.ScalaNumberProxy
的。
scala.math.BigDecimal
的棘手部分是它没有任何包装器。
提前致谢。
答案 0 :(得分:2)
Numeric[T]
是一个类型类,因此它不会将BigDecimal
转换为Numeric
;相反,我们定义了一个隐式Numeric[BigDecimal]
,其中包含Numeric
的{{1}}值的实现。
这里定义隐式 - https://github.com/scala/scala/blob/2.12.x/src/library/scala/math/Numeric.scala#L187