我有一个TextField,我想验证输入的文本是否是整数。我该如何做呢?我想写一个这样的函数:
func isStringAnInt(string: String) -> Bool { }
zpqajqem1#
也可以向String添加计算属性。计算属性内部的逻辑与 OOPer 描述的逻辑相同
String
extension String { var isInt: Bool { return Int(self) != nil } }
"1".isInt // true "Hello world".isInt // false "".isInt // false
ktca8awb2#
使用此功能
func isStringAnInt(string: String) -> Bool { return Int(string) != nil }
sbtkgmzw3#
你可以这样检查
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 }
r8xiu3jd4#
您还可以使用以下扩展方法,这些方法使用的逻辑与所有提到的答案不同
extension String { var isStringAnInt: Bool { return !isEmpty && self.rangeOfCharacter(from: CharacterSet.decimalDigits.inverted) == nil }
wfsdck305#
if s is String { print("Yes, it's a String") } else if s is Int { print("It is Integer") } else { //some other check }
5条答案
按热度按时间zpqajqem1#
字符串扩展名和计算属性
也可以向
String
添加计算属性。计算属性内部的逻辑与 OOPer 描述的逻辑相同
现在你可以
ktca8awb2#
使用此功能
sbtkgmzw3#
你可以这样检查
或
你可以创建一个字符串的扩展名。转到文件-〉新建文件-〉Swift文件
在新创建的Swift文件中,您可以写入
通过这种方式,您将能够在整个项目中访问此功能,如下所示
r8xiu3jd4#
您还可以使用以下扩展方法,这些方法使用的逻辑与所有提到的答案不同
wfsdck305#