Scala 如果一个数字是';它不是整数吗?

Scala 如果一个数字是';它不是整数吗?,scala,double,ceil,Scala,Double,Ceil,我想计算一个简单的数字,如果这个数字不是整数,我想把它四舍五入 例如,如果在计算后得到1.2,我想将其更改为2。如果数字是3.7,我想把它改成4,依此类推。你可以使用math.ceil将双精度四舍五入,并将双精度转换成Int def roundUp(d: Double) = math.ceil(d).toInt roundUp(1.2) // Int = 2 roundUp(3.7) // Int = 4 roundUp(5) // Int = 5 第一次导入数学 导入scala.math.

我想计算一个简单的数字,如果这个数字不是整数,我想把它四舍五入


例如,如果在计算后得到
1.2
,我想将其更改为
2
。如果数字是
3.7
,我想把它改成
4
,依此类推。

你可以使用
math.ceil
双精度
四舍五入,并将
双精度
转换成
Int

def roundUp(d: Double) = math.ceil(d).toInt

roundUp(1.2) // Int = 2
roundUp(3.7) // Int = 4
roundUp(5) // Int = 5

第一次导入数学
导入scala.math.\u
(最后的点和下划线对于接下来的内容至关重要)

你可以简单地写
ceil(1.2)
地板(3.7)

加上一些其他有用的数学函数,如
exp(1)
战俘(2,2)
sqrt(pow(2,2)

该功能也可通过
双卡直接访问:

3.7.ceil.toInt // 4

问题是,我不确定它是双精度的……我正在做一些计算,结果可以是双精度的,也可以是Int,如果它是
Int
,它将自动转换为
double
(见
roundUp(5)
)。