Принудительно развернуть двойное преобразование
Double(b!.text!)!
является причиной того, что пустая строка не может быть преобразована в двойную, поэтому она возвращает ноль и, так как вы используете !
, следовательно, сбой, вам нужно
if let tex = b , content = tex.text , value = Double(content) {
print(value)
}
Также не делайте b var необязательным, сделайте это!
var b:UITextField! // and make sure you init it
Редактировать: Не создавайте другие переменные для хранения экземпляров, используйте их напрямую
@IBOutlet weak var weight1: UITextField!
if let content = weight1.text , value = Double(content) {
print(value)
weight1.text = "\(value/100)"
}