Swift 2.0+
现在有了Swift 2.0,你可以只使用Float(Wage.text)
,返回Float?
类型.比下面只返回0
的解决方案更清晰.
如果出于某种原因,您希望无效Float
的值为0
,那么可以使用Float(Wage.text) ?? 0
,如果无效Float
,它将返回0
.
老办法
处理这一问题的最佳方法是直接浇铸:
var WageConversion = (Wage.text as NSString).floatValue
实际上,为了更好地使用它,我创建了一个extension
:
extension String {
var floatValue: Float {
return (self as NSString).floatValue
}
}
现在你只需拨打var WageConversion = Wage.text.floatValue
,让分机为你处理这座桥!
这是一个很好的实现,因为它可以处理实际的浮动(输入为.
),还可以帮助防止用户将文本复制到输入字段(12p.34
,甚至12.12.41
).
显然,如果苹果真的给Swift加了floatValue
,这将抛出一个例外,但同时这可能是好事.如果他们以后真的添加了它,那么修改代码所需要做的就是删除扩展,一切都将无缝工作,因为您已经在呼叫.floatValue
了!
此外,变量和常量应以小写开头(包括IBOutlets
)