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

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

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

Float不能转换为Int

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


当前回答

您可以使用计算属性制作一个方便的扩展,并从项目中的任何地方使用它

    extension Float{
    
    var toInt : Int{
       return Int(self)
    }
    
}

调用

private var call: Float = 55.9
print(call.toInt)

其他回答

使用函数样式的转换(参见“Swift编程语言”中的“整数和浮点转换”一节)。(iTunes链接))

  1> Int(3.4)
$R1: Int = 3

您可以使用计算属性制作一个方便的扩展,并从项目中的任何地方使用它

    extension Float{
    
    var toInt : Int{
       return Int(self)
    }
    
}

调用

private var call: Float = 55.9
print(call.toInt)

是这样的:

var float:Float = 2.2 // 2.2
var integer:Int = Int(float) // 2 .. will always round down.  3.9 will be 3
var anotherFloat: Float = Float(integer) // 2.0

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

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

只使用类型转换

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

 println("IntegerValue = \(integerValue)")

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