如何检查String是否是Swift中的Int?

问题描述 投票:14回答:4

我有一个TextField,我想验证输入的文本是否为整数。我怎么能这样做?

我想写一个这样的函数:

func isStringAnInt(string: String) -> Bool {

}
swift swift2
4个回答
27
投票

字符串扩展和计算属性

您还可以向String添加计算属性。

计算属性中的逻辑与COOPer描述的逻辑相同

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

现在你可以

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

22
投票

使用此功能

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

1
投票

你可以这样检查

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
}

0
投票
if s is String {
  print("Yes, it's a String")
} else if s is Int {
  print("It is Integer")
} else {
  //some other check
}
© www.soinside.com 2019 - 2024. All rights reserved.