Я делаю калькулятор, и я застрял на отображаемом числе.Поскольку результаты вычислений и записи могут быть целыми числами или числами с плавающей запятой, есть ли способ установить единственную переменную для отображаемого числа, которая может принимать оба этих типа чисел?
В настоящее время у меня есть числа, предназначенные для отображения в виде NSNumbers, но я не уверен, как заставить переменную принять этот тип, и я не уверен, будет ли проще получить переменнуюпринимать как числа с плавающей точкой, так и целые числа.Любой совет будет очень признателен!Прошу прощения, если это супер очевидный вопрос.
var firstNum = 0 // first num in operation
var secondNum = 0 // second num in operation
var firstNumDisplayed = true
@IBAction func buttonPressed(_ sender: UIButton) {
switch sender.tag
case 10,11,12,13,14,15,16,17,18,19,20: // number buttons (11-19) and decimal (20)
if sender.tag < 20 {
if firstNumDisplayed {
firstNum = NumberFormatter().number(from: String(firstNum)+String(sender.tag-10))!
}
else {
secondNum = NumberFormatter().number(from: String(secondNum)+String(sender.tag-10)) }
}
else {
if firstNumDisplayed {
firstNum = NumberFormatter().number(from: String(firstNum)+".")
}
else {
secondNum = NumberFormatter().number(from: String(secondNum)+".")
}
}
}
Ошибка, которую я получаю при таком подходе: «Невозможно присвоить значение типа« NSNumber »типу« Int »»