Как проверить, является ли строка Int в Swift?

У меня есть текстовое поле, и я хочу проверить, что текст ввода является целым числом. Как мне это сделать?

Я хочу написать такую функцию:

func isStringAnInt(string: String) -> Bool {

}

3 ответов


используйте эту функцию

func isStringAnInt(string: String) -> Bool {
    return Int(string) != nil
}

Расширение Строки И Вычисляемое Свойство

вы также можете добавить в String вычисляемого свойства.

логика внутри вычисляемого свойства такая же, как описано OOPer

extension String {
    var isInt: Bool {
        return Int(self) != nil
    }
}

Теперь вы можете

"1".isInt // true
"Hello world".isInt // false
"".isInt // false

вы можете проверить, как это

func isStringAnInt(stringNumber: String) -> Bool {

    if let _ = Int(stringNumber) {
        return true
    }
    return false
}

или

вы можете создать расширение для String. Перейдите в File - > New File - > Swift File

и в созданный файл SWIFT можно писать

extension String
{
    func isStringAnInt() -> Bool {

        if let _ = Int(self) {
            return true
        }
        return false
    }
}

таким образом, Вы сможете получить доступ к этой функции во всем вашем проекте, как это

var str = "123"
if str.isStringAnInt() // will return true
{
 // Do something
}