我想在Swift中转换浮点数为Int。像这样的基本强制转换不起作用,因为这些类型不是基本类型,不像Objective-C中的float和int类型
var float: Float = 2.2
var integer: Int = float as Float
但是这会产生以下错误消息:
Float不能转换为Int
知道如何将属性从Float转换为Int吗?
我想在Swift中转换浮点数为Int。像这样的基本强制转换不起作用,因为这些类型不是基本类型,不像Objective-C中的float和int类型
var float: Float = 2.2
var integer: Int = float as Float
但是这会产生以下错误消息:
Float不能转换为Int
知道如何将属性从Float转换为Int吗?
当前回答
只使用类型转换
var floatValue:Float = 5.4
var integerValue:Int = Int(floatValue)
println("IntegerValue = \(integerValue)")
它将显示舍入值,例如:IntegerValue = 5意味着小数点将丢失
其他回答
使用函数样式的转换(参见“Swift编程语言”中的“整数和浮点转换”一节)。(iTunes链接))
1> Int(3.4)
$R1: Int = 3
var floatValue = 10.23
var intValue = Int(floatValue)
这足以将float转换为Int
你可以像这样在Swift中将Float转换为Int:
var myIntValue:Int = Int(myFloatValue)
println "My value is \(myIntValue)"
你也可以通过@paulm的评论来实现这个结果:
var myIntValue = Int(myFloatValue)
您可以使用计算属性制作一个方便的扩展,并从项目中的任何地方使用它
extension Float{
var toInt : Int{
return Int(self)
}
}
调用
private var call: Float = 55.9
print(call.toInt)
只使用类型转换
var floatValue:Float = 5.4
var integerValue:Int = Int(floatValue)
println("IntegerValue = \(integerValue)")
它将显示舍入值,例如:IntegerValue = 5意味着小数点将丢失