Добавление Double и String для отображения на UILabel - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь сложить значение, которое вводится в текстовое поле, со значением, указанным как double, и затем возвращает значение в метке.Код, который у меня есть:

@IBOutlet weak var enterField: UITextField!

var weekOneTotal:Double = 0

 @IBAction func addButton(_ sender: Any) {
        addCorrectValue()

    }

func addCorrectValue () {
        guard let addAmount = convertAmount(input: enterField.text!) else {
            print("Invalid amount")
            return
        }

      let newValue = weekOneTotal += addAmount

        secondScreen.weekOneAmountLabel.text = String(newValue)

}

  func convertAmount (input:String) -> Double? {

        let numberFormatter = NumberFormatter ()
        numberFormatter.numberStyle = .decimal

        return numberFormatter.number(from: input)?.doubleValue
    }

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Попробуйте:

func addCorrectValue () {
    guard let addAmount = Double(enterField.text!) else {
        print("Invalid amount")
        return
    }

    let newValue = weekOneTotal + addAmount

    secondScreen.weekOneAmountLabel.text = "\(String(format: "%.1f", newValue))"
}

.1 - это количество отображаемых десятичных знаков.Вы можете настроить это в соответствии с вашими потребностями.Надеюсь, я понял вопрос, и это работает для вас!

0 голосов
/ 29 января 2019

Возможно, вы хотите увеличить значение переменной weekOneTotal на конвертируемую сумму, а затем использовать это значение как text некоторого ярлыка

weekOneTotal += addAmount
secondScreen.weekOneAmountLabel.text = String(weekOneTotal)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...