我正在尝试将一个双精度浮点数四舍五入到一个整数。
var numberOfBottles = totalVolume / volumeEachBottles
例如numberOfBottles = 275.0 / 250.0
,这将给出1.1
,我需要将其四舍五入为2
。尝试:
var numberOfBottles = totalVolume / volumeEachBottles
numberOfBottles.rounded(.up)
或者numberOfBottles.rounded(.down)
有一个名为ceil
的内置全局函数可以精确地执行此操作:
var numberOfBottles = ceil(totalVolume/volumeEachBottles)
这将返回2
,作为一个Double
。
ceil
实际上是在math.h
中声明的,并在OS X man pages中有文档。它几乎肯定比任何其他方法都更有效率。
即使你需要一个Int
作为最终结果,我也建议先像这样计算ceil
,然后对ceil
计算的结果使用Int
构造函数。
import Foundation
才能使用它。 - BallpointBenimport Foundation
var numberOfBottles = 275.0 / 250.0
var rounded = ceil(numberOfBottles)
extension Double {
func roundToInt() -> Int{
return Int(Darwin.round(self))
}
}
如果您想将其放在文本标签中,请像这样使用:
currentTemp.text = "\(weatherData.tempCelsius.roundToInt())"
或者将其作为整数打印出来:
print(weatherData.tempCelsius.roundToInt())