我有一个TextField,我想验证输入的文本是否为整数。我怎么能这样做?
我想写一个这样的函数:
func isStringAnInt(string: String) -> Bool {
}
答案 0 :(得分:26)
您还可以向String
添加计算属性。
计算属性中的逻辑与 OOPer
描述的逻辑相同
extension String {
var isInt: Bool {
return Int(self) != nil
}
}
"1".isInt // true
"Hello world".isInt // false
"".isInt // false
答案 1 :(得分:21)
使用此功能
func isStringAnInt(string: String) -> Bool {
return Int(string) != nil
}
答案 2 :(得分:1)
你可以这样检查
func isStringAnInt(stringNumber: String) -> Bool {
if let _ = Int(stringNumber) {
return true
}
return false
}
OR
您可以为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
}
答案 3 :(得分:0)
if s is String {
print("Yes, it's a String")
} else if s is Int {
print("It is Integer")
} else {
//some other check
}
答案 4 :(得分:0)
您还可以使用以下扩展方法,该扩展方法使用与所有提到的答案不同的逻辑
extension String {
var isStringAnInt: Bool {
return !isEmpty && self.rangeOfCharacter(from: CharacterSet.decimalDigits.inverted) == nil
}