如何在Swift中检查字符串是否为Int?
我有一个文本字段,我想验证输入的文本是否为整数。我怎么能这样做 我想写一个这样的函数:如何在Swift中检查字符串是否为Int?,swift,swift2,Swift,Swift2,我有一个文本字段,我想验证输入的文本是否为整数。我怎么能这样做 我想写一个这样的函数: func isStringAnInt(string: String) -> Bool { } 使用此功能 func isStringAnInt(string: String) -> Bool { return Int(string) != nil } 你可以这样检查 func isStringAnInt(stringNumber: String) -> Bool {
func isStringAnInt(string: String) -> Bool {
}
使用此功能
func isStringAnInt(string: String) -> Bool {
return Int(string) != nil
}
你可以这样检查
func isStringAnInt(stringNumber: String) -> Bool {
if let _ = Int(stringNumber) {
return true
}
return false
}
或
可以为字符串创建扩展名。转到文件->新建文件->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
}
字符串扩展名&计算属性
您还可以向字符串中添加计算属性
computed属性中的逻辑与OOPer描述的相同
现在你可以
您还可以使用以下扩展方法,该方法使用的逻辑与所有提到的答案不同
extension String {
var isStringAnInt: Bool {
return !isEmpty && self.rangeOfCharacter(from: CharacterSet.decimalDigits.inverted) == nil
}
@如果有什么问题,请编辑我的答案,这样我也可以学习。做了一些编辑。您可能希望使isStringAnInt()
成为一个计算属性扩展字符串{var isInt:Bool{如果让{Int(self){return true}return false}
,那么您可以执行“123”。isInt
。这比接受的答案更快,因此应该被接受。是的。最干净的回答此代码返回正确的结果,但问题是针对函数提出的,而此代码不是函数。
"1".isInt // true
"Hello world".isInt // false
"".isInt // false
if s is String {
print("Yes, it's a String")
} else if s is Int {
print("It is Integer")
} else {
//some other check
}
extension String {
var isStringAnInt: Bool {
return !isEmpty && self.rangeOfCharacter(from: CharacterSet.decimalDigits.inverted) == nil
}