Convert cents into decimal money values without binary floating-point drift.

BigDecimal Scale

BigDecimalScale.scala
object Main {
  def main(args: Array[String]): Unit = {
    val cents = 
    val amount = BigDecimal(cents) / BigDecimal(100)
    val fee = BigDecimal("1.50")
    val net = amount - fee

    println("amount=" + amount)
    println("net=" + net)
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val cents = 
    val amount = BigDecimal(cents) / BigDecimal(100)
    val fee = BigDecimal("1.50")
    val net = amount - fee

    println("amount=" + amount)
    println("net=" + net)
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val cents = 
    val amount = BigDecimal(cents) / BigDecimal(100)
    val fee = BigDecimal("1.50")
    val net = amount - fee

    println("amount=" + amount)
    println("net=" + net)
  }
}
bigdecimal `BigDecimal` keeps decimal arithmetic explicit. Converting integer cents first keeps the example deterministic and avoids parsing or rounding surprises.