【发布时间】:2019-07-02 20:22:42
【问题描述】:
我无法理解 scala 如何在 scala 中将 Int 转换为 BigDecimal。
val a : BigDecimal = 1
上面的语句在理想情况下应该会抛出一个编译错误,但是它编译得很好。谁能解释一下这在 scala 中是如何发生的?
【问题讨论】:
标签: scala
我无法理解 scala 如何在 scala 中将 Int 转换为 BigDecimal。
val a : BigDecimal = 1
上面的语句在理想情况下应该会抛出一个编译错误,但是它编译得很好。谁能解释一下这在 scala 中是如何发生的?
【问题讨论】:
标签: scala
这个问题的答案在于 BigDecimal 对象,它具有将 Int 转换为 BigDecimal 的隐式方法。
来自scala的源码
object BigDecimal extends scala.AnyRef with scala.Serializable {
// all other methods
implicit def int2bigDecimal(i : scala.Int) : scala.math.BigDecimal = { /* compiled code */ }
}
如果这回答了您的问题,请告诉我。
【讨论】: