Всем привет, начинаю изучать Свифт 5, хочу сделать для себя программу. Смотрел разные ролики, но пока не понимаю как можно сделать расчёт: Double число из textField * 0,06% и чтоб выводило результат Double в Label? Или число из textField / 100 * 0,06?
Кто разбирается, помогите пожалуйста!
Помогите решить вопрос
Все что находится в Label - это строка (string), вам нужно значение от туда переводить в нужное вам и делать операцию.
А как можно сделать чтоб цифра из text field умножалась по кнопке на 0,06% и выводила результат в label?
->
->
З.Ы. Если вам не понятно, что такое String и как преводить типы, то пройдите курс по основам языка.
У меня в общем то всё заработало, но при вводе в текстовое поле не целого числа (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()
Потому что типы с дробными значениями хранят значения через точку, а не запятую. И при переводе String
с запятой во Float
естественно всё падает. Если хотите вводить дробные числа, то надо отслеживать запятую и менять её на точку до перевода во Float
.