Bigな数字

秀味園

val x = new BigDecimal(100)

とやると

:4: error: type mismatch;
 found   : Int(100)
 required: java.math.BigDecimal
       val x = new BigDecimal(100)

と叱られる。
何でかなー、と思ったら、

val x = BigDecimal(100)

が正解でした。

val y = BigDecimal(1000)

として

val y = x * y

が、100000となる。まとめるとScalaBigDecimalを使うとこうなる。

val x = BigDecimal(100)
val y = BigDecimal(1000)
val y = x * y

Javaだと、こうなる。

BigDecimal x = new BigDecimal(100);
BigDecimal y = new BigDecimal(1000);
BigDecimal a = x.multiply(y);

ScalaだとBigDecimalも普通に使えてよい感じ。