📅  最后修改于: 2023-12-03 15:38:37.985000             🧑  作者: Mango
在编程过程中,我们可能需要将字符串转换为浮点数进行计算或其他操作。在Swift中,可以使用内置的Double
类型来表示浮点数,下面介绍三种将字符串转换为浮点数的方法。
let str = "3.14"
if let doubleValue = Double(str) {
print(doubleValue)
} else {
print("转换失败")
}
以上代码使用了Double()
构造函数将字符串转换为浮点数,注意通过可选绑定判断是否转换成功。如果转换失败,返回nil
。可以将转换后的浮点数赋值给一个常量或变量,使用时直接调用即可。
let str = "1.618"
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
if let doubleValue = formatter.number(from: str)?.doubleValue {
print(doubleValue)
} else {
print("转换失败")
}
以上代码使用了NumberFormatter
类来完成浮点数的转换,通过设置numberStyle
属性为.decimal
来指定转换为浮点数,也可以设置其他的样式。
let str = "2.71828"
let scanner = Scanner(string: str)
var doubleValue: Double = 0
if scanner.scanDouble(&doubleValue) {
print(doubleValue)
} else {
print("转换失败")
}
以上代码使用了Scanner
类,通过scanDouble()
方法直接将字符串转换为浮点数,也可以使用scanFloat()
方法将字符串转换为Float
类型的浮点数。
以上是Swift中将字符串转换为浮点数的三种方法,开发者可以根据自己的需要选择不同的转换方式。