Проверьте, является ли строка допустимым двойным значением в Swift

В Swift, как можно проверить, является ли строка допустимым двойным значением? Я использовал следующее расширение отэтот вопрос (но как число с плавающей запятой), но если значение не может быть преобразовано, оно просто возвращает «0»:

extension String {
    var doubleValue:Double? {
        return (self as NSString).doubleValue
    }
}

В идеале я бы хотел это вернутьnil так что его можно поймать вif-let, вот так:

if let i = str.doubleValue {
    object.price = i
} else {
    // Tell user the value is invalid
}

Ответы на вопрос(4)

Ваш ответ на вопрос