当前位置: 首页 > 面试题库 >

在Swift中将String转换为Float

时同
2023-03-14
问题内容

我正在尝试转换从UITextField中获取的数字(我认为这些数字实际上是字符串),并将其转换为Float,因此我可以将它们相乘。

我有两个UITextfield声明如下:

@IBOutlet var wage: UITextField
@IBOutlet var hour: UITextField

当用户按下UIButton时,我想计算用户赚取的工资,但是我不能,因为我需要先将其转换为浮动工资,然后才能使用它们。

我知道如何通过执行以下操作将它们转换为整数:

var wageConversion:Int = 0
wageConversion = wage.text.toInt()!

但是,我不知道如何将它们转换为浮点数。


问题答案:

迅捷2.0+

现在,在 Swift 2.0中, 您可以仅使用Float(Wage.text)return
Float?类型。比下面返回的解决方案更清晰0

如果出于某种原因想要0无效值,则Float可以使用Float(Wage.text) ?? 0该值,如果无效则返回0该值Float

解决方案

解决此问题的最佳方法是直接投射:

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)中。

显然,如果Apple确实floatValue在Swift
中添加了,则会抛出异常,但与此同时可能会很好。如果他们稍后添加了它,那么只需修改扩展名,您只需要做的就是删除扩展名,一切将无缝进行,因为您已经在调用了.floatValue

另外,变量和常量应以小写字母开头(包括IBOutlets



 类似资料:
  • 问题内容: 我正在尝试找出如何在Swift中将转换为。 我想出一种解决方法,但是我很想弄清楚如何在Swift中做到这一点。 问题答案: 转换为: 而另一种方式-转换为: 或者,如果您使用的是Swift 2或3:

  • 问题内容: 我从NSData的Web服务响应中接收到base64String,如何快速将base64String转换为String? 如果文件包含某些表格式/图像,则编码和解码都会给出无效的base64String,base64String的编码和解码可以很好地用于仅包含文本的文件。如何将文件转换为base64String进行编码和解码,无论文件内容如何?文件格式为doc,docx,pdf,txt

  • 问题内容: 我正在尝试用快速的语言编写BMI程序。我有一个问题:如何将字符串转换为Double? 在Objective-C中,我可以这样: 但是如何用Swift语言实现呢? 问题答案: Swift 4.2+字符串加倍 您应该使用新的类型初始值设定项在String和数字类型(Double,Float,Int)之间进行转换。它会返回一个可选类型(Double?),该类型将具有正确的值;如果String

  • 问题内容: 如何从float转换为string或从string转换为float? 在我的情况下,我需要在2个值字符串(我从表中获得的值)和我计算出的浮点值之间进行断言。 我尝试从浮动到字符串: 但是断言失败 问题答案: 使用Java的类。 为了进行比较,将字符串转换为float并比较两个float总是更好。这是因为对于一个浮点数,存在多个字符串表示形式,与字符串相比,它们是不同的(例如“ 25”!

  • 问题内容: 鉴于以下枚举: 如何从下面的常量获取字符串? 问题答案: 不确定此功能是在哪个Swift版本中添加的,但是现在( Swift 2.1 )您只需要以下代码: 如果将字符串用于原始值,则每种情况的隐式值都是该 情况名称 的 文本 。 […] 在上面的示例中,CompassPoint.south的隐式原始值为“ south”,依此类推。 您可以使用其rawValue属性访问枚举用例的原始值:

  • 问题内容: 我正在开发一些应用程序,它允许从SD卡中选择图像,将其保存到数据库中并为ImageView设置此值。我需要知道将uri转换为字符串并将字符串转换为uri的方法。现在,我使用了Uri的getEncodedPath()方法,但是例如,此代码不起作用: 因此,我不知道如何将Uri保存到数据库中并根据保存的值创建新的Uri。请帮我修复它。 问题答案: 我需要知道将uri转换为字符串并将字符串转