我想在Swift中转换浮点数为Int。像这样的基本强制转换不起作用,因为这些类型不是基本类型,不像Objective-C中的float和int类型

var float: Float = 2.2
var integer: Int = float as Float

但是这会产生以下错误消息:

Float不能转换为Int

知道如何将属性从Float转换为Int吗?


当前回答

var i = 1 as Int

var cgf = CGFLoat(i)

其他回答

只使用类型转换

 var floatValue:Float = 5.4
 var integerValue:Int = Int(floatValue)

 println("IntegerValue = \(integerValue)")

它将显示舍入值,例如:IntegerValue = 5意味着小数点将丢失

你可以像这样进行类型转换:

 var float:Float = 2.2
 var integer:Int = Int(float)

使用Int64而不是Int。Int64可以存储大的int值。

你可以像这样在Swift中将Float转换为Int:

var myIntValue:Int = Int(myFloatValue)
println "My value is \(myIntValue)"

你也可以通过@paulm的评论来实现这个结果:

var myIntValue = Int(myFloatValue)
var i = 1 as Int

var cgf = CGFLoat(i)