我是Swift新手,如何将字符串转换为CGFloat?
我试过:
var fl: CGFloat = str as CGFloat
var fl: CGFloat = (CGFloat)str
var fl: CGFloat = CGFloat(str)
一切都不管用
我是Swift新手,如何将字符串转换为CGFloat?
我试过:
var fl: CGFloat = str as CGFloat
var fl: CGFloat = (CGFloat)str
var fl: CGFloat = CGFloat(str)
一切都不管用
如果你想要一个安全的方法来做这件事,这里有一个可能性:
let str = "32.4"
if let n = NumberFormatter().number(from: str) {
let f = CGFloat(truncating: n)
}
如果将str
改为"bob",它将不会转换为浮点,而其他大多数答案将转换为0.0
Side note:还要记住小数点分隔符可以是逗号或句点.您可能希望在数字格式化程序中指定它
let formatter = NumberFormatter()
formatter.decimalSeparator = "." // or ","
// use formatter (e.g. formatter.number(from:))