如何在Scala中进行投射?

时间:2011-07-16 02:53:51

标签: scala casting

例如假设我有

val myDouble = 25.7
val myInt = 5

我将如何做

之类的事情
val divide = (Int) (myDouble / myInt)

3 个答案:

答案 0 :(得分:78)

你可以(myDouble/myInt).toInt。您还可以toDoubletoLongtoFloat

答案 1 :(得分:17)

我首选的方法是添加舍入方法,以减少转换行为中的任何潜在意外:

val divide = (myDouble/myInt).ceil.toInt

val divide = (myDouble/myInt).floor.toInt

答案 2 :(得分:4)

或者你可以......

 scala> val myDouble = 25.7
 myDouble: Double = 25.7

 scala> val myInt = 5
 myInt: Int = 5

 scala> val divide = (myDouble / myInt).asInstanceOf[Int]
 divide: Int = 5