Как проверить, является ли String Int в Swift?
У меня есть TextField, который я хочу проверить, является ли введенный текст целым числом. Как я мог это сделать?
Я хочу написать такую функцию:
func isStringAnInt(string: String) -> Bool {
}
Ответы
Ответ 1
Расширение строки и вычисляемое свойство
Вы также можете добавить к String
вычисленное свойство.
Логика внутри вычисленного свойства такая же, как OOPer
extension String {
var isInt: Bool {
return Int(self) != nil
}
}
Теперь вы можете
"1".isInt // true
"Hello world".isInt // false
"".isInt // false
Ответ 2
Используйте эту функцию
func isStringAnInt(string: String) -> Bool {
return Int(string) != nil
}
Ответ 3
Вы можете проверить это как
func isStringAnInt(stringNumber: String) -> Bool {
if let _ = Int(stringNumber) {
return true
}
return false
}
ИЛИ
вы можете создать расширение для String. Перейдите в Файл → Новый файл → Файл Swift
В новом созданном файле 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
}
Ответ 4
if s is String {
print("Yes, it a String")
} else if s is Int {
print("It is Integer")
} else {
//some other check
}