import scala.math._
object Main {
def main(args: Array[String]): Unit = {
println(abs(-1)) // 絶対値
println(max(1,2)) // 最大値
println(min(1,2)) // 最小値
println(pow(2, 10)) // 乗数
println(sqrt(2.0)) // 平方根
println(floor(9.9)) //=> 9.0 (切り捨て)
println(ceil(9.9)) //=> 10.0 (切り上げ)
println(round(9.9)) //=> 10 (四捨五入)
println(E) // 自然対数
println(Pi) // 円周率
println(random) //=> [0,1) の乱数
}
}
object Main {
def main(args: Array[String]): Unit = {
// asInstanceOf による変換
var i: Int = 99
var l: Long = i.asInstanceOf[Long]
var d: Double = i.asInstanceOf[Double]
// toHoge による変換
l = i.toLong
d = i.toDouble
i = l.toInt
i = d.toInt
}
}
BigInt/BigDecimal を利用します。内部的に文字列として数値を記憶するため、桁落あふれや丸め誤差などは発生しませんが、処理速度は落ちます。
object Main {
def main(args: Array[String]): Unit = {
val bigI1 = BigInt("1234567890")
val bigI2 = BigInt("1234567890")
println(bigI1 + bigI2) //=> 2469135780
val bigD1 = BigDecimal("0.000000000000000001")
val bigD2 = BigDecimal("0.000000000000000009")
println(bigD1 + bigD2) //=> 1.0E-17
}
}