racshaser
@racshaser

Почему не конвертируется String в Int?

Приветствую!

Есть задание: создать класс, который будет хранить в себе огромные целые числа (до 40 элементов) с помощью массива.
В классе у меня 2 свойства: массив и переменная типа Boolean, которая показывает отрицательное число или нет.
var GeneralMassive = [Int](repeating: 0, count: 40) //Создаем массив 40 целых чисел, забитый нулями.
var isMinus : Bool = false // Опциональная переменная

Далее я пишу init, который принимает строку, затем отсекает от нее последний символ и конвертирует его из String в Int и добавляет в конец массива GeneralMassive[39].
public init (integer: String) {
        var inStr : String 
        var lastStr : String
        var lastInt : Int
        
        inStr = integer //Приравниваем входящую строку к переменной inStr
        
        lastStr = String(inStr.removeLast()) //Получаем последний символ этой строки (тип Character) и конвертируем его в String
        lastInt = Int!(lastStr)   //Пытаемся конвертировать String в Int
//Добавление в массив

    }


Само-собой это всё должно быть в цикле. Код привел для примера.
В последней строке я пробовал ставить "?" и "!" – толку 0.
Постоянно вылетает ошибка "Cannot convert value of type 'String' to expected argument type 'Int'"

Пишу я всё это в Playground отдельным файлом.

Что я делаю не так? Почему не получается преобразовать из одного типа в другой?
  • Вопрос задан
  • 402 просмотра
Решения вопроса 1
racshaser
@racshaser Автор вопроса
Проблема решилась.
Это:
lastInt = Int!(lastStr)
Должно быть так
lastInt = Int(lastStr) !
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы