我正在尝试用 swift 语言编写 BMI 程序。 我遇到了这个问题:如何将 String 转换为 Double?
在 Objective-C 中,我可以这样做:
double myDouble = [myString doubleValue];
但是我怎样才能用 Swift 语言实现这一点呢?
最佳答案
Swift 2 更新
有新的可失败初始化器允许您以更惯用和安全的方式执行此操作(正如许多答案所指出的,NSString 的 double 值不是很安全,因为它对于非数字值返回 0。这意味着 doubleValue
的 "foo"
| 和 "0"
相同。)
let myDouble = Double(myString)
这会返回一个可选值,因此在类似传入 "foo"
的情况下哪里doubleValue
会返回 0,可失败的初始化器将返回 nil
。您可以使用 guard
, if-let
,或map
处理 Optional<Double>
原帖: 您不需要像接受的答案所建议的那样使用 NSString 构造函数。您可以像这样简单地桥接它:
(swiftString as NSString).doubleValue
关于Swift - 如何将字符串转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50950499/