Я абсолютно новым для Swift 3, мой единственный опыт быть некоторые основные HTML и JavaScript обратно в дни перед Microsoft FrontPage, Facebook и т.д.Swift 3: Округление результат, встроенный в текст в простой калькулятор
I Я пытаюсь сделать (относительно) простой калькулятор, который будет делать некоторую математику, чтобы рассчитать, сколько жидкого кислорода мне понадобится для пациентов.
Две проблемы, с которыми я столкнулся, состоят в том, что если кто-то покинет поле пустым, приложение выйдет из строя. Во-вторых, я хотел бы, чтобы результат прошел до одного десятичного знака.
Я нашел ответы о пустых полях и округлении, но не мой пример, и я просто получаю ошибки, которые я не знаю, как исправить.
Пожалуйста, имейте в виду, что ответы на любые вопросы, которые начинаются с «Почему вы сделали ...», являются двоякими: 1), потому что я видел такой пример в Интернете и 2) у меня нет что я делаю.
Код приведен ниже.
//
// ViewController.swift
// AECalc
//
// Created by Marco Metzler on 12/31/16.
// Copyright © 2016 Metzler. All rights reserved.
//
import UIKit
import Foundation
class ViewController: UIViewController {
@IBOutlet weak var PTLPM: UITextField!
@IBOutlet weak var LTVVents: UITextField!
@IBOutlet weak var Vents: UITextField!
@IBOutlet weak var EmergLPM: UITextField!
@IBOutlet weak var Ground: UITextField!
@IBOutlet weak var Flight: UITextField!
@IBOutlet weak var LOX: UILabel!
@IBAction func Calculate(_ sender: UIButton) {
let aText = PTLPM.text
let bText = LTVVents.text
let cText = Vents.text
let dText = EmergLPM.text
let eText = Ground.text
let fText = Flight.text
let a = Float(aText!)
let b = Float(bText!)
let c = Float(cText!)
let d = Float(dText!)
let e = Float(eText!)
let f = Float(fText!)
let PtReq = (a! + d!)
let LTVTot = (b! * 20)
let VTot = (c! * 15)
let VentTot = (LTVTot + VTot)
let AllOx = ((VentTot + PtReq) * 60)
let TotTime = (e! + f!)
let answer = ((AllOx * TotTime)/804)
LOX.text = "LOX required: \(answer) liters."
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//The code below hides the keypad when you tap blank space on the screen. I would prefer to have a "done" button on the keypad.
self.view.addGestureRecognizer(UITapGestureRecognizer(target: self.view, action: #selector(UIView.endEditing(_:))))
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Если поле пустым, что бы вы хотели, чтобы произошло? Что бы вы хотели сделать, если поле не конвертируется в Float? Использовать значения по умолчанию? Распечатать сообщение? – vacawama
Этот вопрос слишком широк. «Две проблемы, с которыми я сталкиваюсь, - это то, что если кто-то покинет поле пустым, приложение будет разбиваться. Во-вторых, я хотел бы, чтобы результат переместился в одно десятичное место». Вы просто бросаете все свое приложение и говорите «Исправьте это». Выберите проблему _one_ в точке _precise_ вашего кода, скажите, что вы делаете, что хотите, и что происходит. – matt
Вы упомянули, что нашли ответы относительно пустых полей и округления, но они вызывают ошибки. Можете ли вы опубликовать эти ошибки, чтобы мы могли видеть, что вы пробовали и не работали и не проводили вас оттуда? – Bek