Помогите решить вопрос


#1

Всем привет, начинаю изучать Свифт 5, хочу сделать для себя программу. Смотрел разные ролики, но пока не понимаю как можно сделать расчёт: Double число из textField * 0,06% и чтоб выводило результат Double в Label? Или число из textField / 100 * 0,06?
Кто разбирается, помогите пожалуйста!


#2

Все что находится в Label - это строка (string), вам нужно значение от туда переводить в нужное вам и делать операцию.


#3

А как можно сделать чтоб цифра из text field умножалась по кнопке на 0,06% и выводила результат в label?


#4

->


->

З.Ы. Если вам не понятно, что такое String и как преводить типы, то пройдите курс по основам языка.


#5

У меня в общем то всё заработало, но при вводе в текстовое поле не целого числа (8000), а плавающего (8000,5 например) выскакивает ошибка: Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value

Вот код, может что то не так написал:
import UIKit

class ViewController: UIViewController {

let precent: Float = 0.06

@IBOutlet weak var number: UITextField!

@IBAction func summ(_ sender: UIButton) {
    let firstnum = Float(number.text!)
    let secondnum = precent
    result.text = String(firstnum! * secondnum / 100)
}

@IBAction func clear(_ sender: UIButton) {
    number.text = ""
    result.text = ""
}

@IBOutlet weak var result: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()

#6

Потому что типы с дробными значениями хранят значения через точку, а не запятую. И при переводе String с запятой во Float естественно всё падает. Если хотите вводить дробные числа, то надо отслеживать запятую и менять её на точку до перевода во Float.