加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:11:45 所属栏目:百科 来源:网络整理
导读:我试图转换从UITextField取得的数字,我假设,实际上是字符串,并将它们转换为float,所以我可以乘以它们。 我有两个UITextfields声明如下: @IBOutlet var wage: UITextField@IBOutlet var hour: UITextField 当用户按UIButton时,我想计算用户赚取的工资,
我试图转换从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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读