将字符串转换为浮动在苹果的Swift

前端之家收集整理的这篇文章主要介绍了将字符串转换为浮动在苹果的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)

原文链接:https://www.f2er.com/swift/321433.html

猜你在找的Swift相关文章