Swift2 敏捷的想要一个if语句,如果值不是整数,则该语句将给出一个错误

Swift2 敏捷的想要一个if语句,如果值不是整数,则该语句将给出一个错误,swift2,Swift2,我是新来的,我正在尽可能多地学习。我有一个变量有一个数值,我想要一个if语句,它将查看这个值,如果这个值不是整数,则给出一个err。有人能帮忙吗 谢谢您可以这样检查,然后在if子句中使用number: if let number = numericalValue as? Int { // numericalValue is an Int } else { // numericalValue is not an Int } 我使用Int()和if语句来实现这一点: //var nu

我是新来的,我正在尽可能多地学习。我有一个变量有一个数值,我想要一个if语句,它将查看这个值,如果这个值不是整数,则给出一个err。有人能帮忙吗


谢谢

您可以这样检查,然后在if子句中使用
number

if let number = numericalValue as? Int {
   // numericalValue is an Int
} else {
   // numericalValue is not an Int 
}
我使用Int()和if语句来实现这一点:

//var number = 17  - will print "17 is an integer"
//var number = "abc"  - will print "Error"

if let numberTest = Int(number) {
    print("\(number) is an integer")
} else {
    print("Error")
}

我最终设法解决了这个问题。我在Swift手册中找到了剩余的操作员。如果我用它除以1,如果有余数,那么原始值就不能是整数。所以我的代码是-else如果((Double(guessEnteredNumber.text!))%1)>0{resultText.text=“您需要猜测1到5之间的整数”

在swift 2中,您现在可以像这样使用“guard”关键字了

guard let number = myNumber as Int else {
    // myNumber is not an Int
    return
}
// myNumber is an Int and you can use number as it is not null

如果以后需要修改'number',可以将'let'关键字替换为'var'。

变量的类型是什么?如果是
双精度的
,那么
if value!=floor(value){print(“error”)}
就足够了。这甚至不会编译,因为'Int(number)''不返回可选值。我在游乐场测试了它,得到了我注释掉的结果。你知道为什么允许在那里使用它吗?我不知道,但这种方法的另一个问题是它还会打印“1.2是整数”啊,很好的一点。我甚至没有考虑过。我要在操场上做一些测试,看看我能不能弄清楚为什么它没有给我任何错误。最后我设法解决了。我在Swift手册中找到了剩余的操作符。如果我用它,除以1,如果有余数,那么原始值就不能。'不是整数。所以我的代码是-else if((Double(guestEnteredNumber.text!))%1)>0{resultText.text=“您需要猜测1到5之间的整数”谢谢,我会测试这个。谢谢,我会测试这个