В Swift можно проверить, является ли строка допустимым двойным значением? Я использовал следующее расширение из этого вопроса (но как float), но если значение не может быть преобразовано, оно просто возвращает "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
}