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)
)。