This question already has answers here:
Swift - How to convert String to Double

(29个答案)


5年前关闭。




如何在Swift中将字符串转换为double?我已经尝试过string.doubleValue或string.bridgeToObjectiveC()。doubleValue,但都没有用。有任何想法吗?

最佳答案

您可以创建一个只读的计算属性字符串扩展名,以帮助您将字符串转换为双精度:

您可以使用NSNumberFormatter

extension String {
    struct Number {
        static let formatter = NSNumberFormatter()
    }
    var doubleValue: Double {
        return Number.formatter.numberFromString(self)?.doubleValue ?? 0
    }
}

或者可以将其强制转换为NSString并提取其doubleValue属性:
extension String {
    var ns: NSString {
        return self
    }
    var doubleValue: Double {
        return ns.doubleValue
    }
}

"2.35".doubleValue + 3.3 // 5.65

09-15 15:43