我正在尝试将 scala BigDecimal 与 Joda-Money 一起使用。将 scala BigDecimal 传递给Money.of()
不起作用,因为它需要 Java BigDecimal。
[error] C:\test.scala:82: overloaded method value of with alternatives:
[error] (x$1: org.joda.money.BigMoneyProvider,x$2: java.math.RoundingMode)org.joda.money.Money <and>
[error] (x$1: org.joda.money.CurrencyUnit,x$2: Double)org.joda.money.Money <and>
[error] (x$1: org.joda.money.CurrencyUnit,x$2: java.math.BigDecimal)org.joda.money.Money
[error] cannot be applied to (org.joda.money.CurrencyUnit, scala.math.BigDecimal)
[error] Money.of(gbp, a)
[error] ^
我可以使用.underlying
哪个有效:
val gbp = CurrencyUnit.of("GBP")
val a = BigDecimal("2.2")
Money.of(gbp, a.underlying)
但是有没有更好的方法,比如某个地方已经存在的隐式转换?