将字符串转换为浮动在苹果的Swift
我试图转换从UITextField取得的数字,我假设,实际上是字符串,并将它们转换为float,所以我可以乘以它们。
我有两个UITextfields声明如下: @IBOutlet var wage: UITextField @IBOutlet var hour: UITextField 当用户按UIButton时,我想计算用户赚取的工资,但我不能,因为我需要先将它们转换为浮动,然后才能使用它们。 我知道如何将它们转换为整数这样做: var wageConversion:Int = 0 wageConversion = wage.text.toInt()! 但是,我不知道如何将它们转换为浮动。
Swift 2.0
现在用Swift 2.0你可以只使用Float(Wage.text),它返回一个Float?类型。比下面的解决方案更清楚只返回0。 如果你想为一个无效的Float的值为某种原因你可以使用Float(Wage.text)? 0,如果它不是有效的浮动,它将返回0。 老解决方案 处理这个问题的最好方法是直接铸造: var WageConversion = (Wage.text as NSString).floatValue 我实际上创建了一个扩展,以更好地使用这一点: extension String { var floatValue: Float { return (self as NSString).floatValue } } 现在你可以调用var WageConversion = Wage.text.floatValue并允许扩展为你处理桥梁! 这是一个很好的实现,因为它可以处理实际的浮动(输入。),并且还有助于防止用户将文本复制到输入字段(12p.34,甚至12.12.41)。 显然,如果苹果添加一个floatValue到Swift这将抛出异常,但它可能是很好的在同一时间。如果他们以后添加它,那么所有你需要做的修改你的代码是删除扩展,一切都将无缝工作,因为你已经调用.floatValue! 另外,变量和常量应以小写开头(包括IBOutlets) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |