【问题标题】:How does Int get converted to BigDecimal?Int 如何转换为 BigDecimal?
【发布时间】:2019-07-02 20:22:42
【问题描述】:

我无法理解 scala 如何在 scala 中将 Int 转换为 BigDecimal。

val a : BigDecimal = 1

上面的语句在理想情况下应该会抛出一个编译错误,但是它编译得很好。谁能解释一下这在 scala 中是如何发生的?

【问题讨论】:

    标签: scala


    【解决方案1】:

    这个问题的答案在于 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 */ }
    
    }
    

    如果这回答了您的问题,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-15
      • 2022-09-23
      • 2017-03-21
      • 2012-05-30
      • 2011-05-01
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      相关资源
      最近更新 更多