Скала эквивалент числа Java

Я пытаюсь построить иерархию типов для числовых типов доменов. напримерYear являетсяInt (который являетсяNumber),Percentage этоDouble, который являетсяNumberи т.д. Мне нужна иерархия, чтобы я мог позвонитьtoInt или жеtoDouble на значения.

Однако иерархия типов Scala для примитивных числовых типов не имеет общего предка, кромеAnyVal, Это не содержитto{Int, Double} функции, которые мне нужны.

Самый близкий тип, который я мог найти,Numeric[T], который, кажется, существует главным образом для некоторой хитрости компилятора.

В Java все числа получены изNumber (в том числе произвольной точности).Как определить интерфейс, который обслуживает числовые типы объектов в Scala?

Я в настоящее время взламываю это с помощью утки:

Any {
  def toInt: Int
  def toDouble: Double
}

которая не только многословна, но и несет затраты на отражение во время выполнения. есть что-нибудь получше?

Ответы на вопрос(2)

Ваш ответ на вопрос