什么是检查计算输出是否为整数的方法?我试过这样做:检查计算的输出是否是整数
if ((i/3) is Int) {
print("Whole Number")
}
但它似乎是检查变量的类型,而不是输出是什么。
编辑:显然,如果变量是一个整数,它会自动四舍五入操作的输出,所以我不得不做这样的事情:
if((i.toFloat()/3) == (i/3).toFloat()){
println("Whole Number")
什么是检查计算输出是否为整数的方法?我试过这样做:检查计算的输出是否是整数
if ((i/3) is Int) {
print("Whole Number")
}
但它似乎是检查变量的类型,而不是输出是什么。
编辑:显然,如果变量是一个整数,它会自动四舍五入操作的输出,所以我不得不做这样的事情:
if((i.toFloat()/3) == (i/3).toFloat()){
println("Whole Number")
is
在科特林运营商用于检查对象的实例。
在这里,你已经写(i/3) is Int
手段:
您正在检查(I/3)为int与否的一个实例。
在Kotlin,你必须写下面的代码来检查一个数字是否是一个整数。
如果我是一个int
if((i/3).toInt() == (i/3)) {
print("Whole Number")
}
否则,你也可以使用下面的代码:
if((i/3).toInt().compareTo(i/3) == 0) {
print("Whole Number")
}
'(i/3).toInt()==(i/3)'如果'i'是一个'Int'则总是为真,如果不是,则为无效代码。 – hotkey
一个简单的方法来检查a/b
是否是一个整数是检查剩余为零:a % b == 0
。
注意,但是,如果/
两个操作数都是整型(Short
,Int
,Long
),那么划分结果始终是一个整数(小数部分只是丢弃),所以,如果你有一个val i: Int = 2
然后i % 3 == 1
但i/3 == 0
。要使用小数除法,至少应使其中一个小数部分为i/3.0
或i.toDouble/3
。
如果你想检查一个Double
是整体,你可以使用d % 1.0 == 0.0
或检查Math.floor(d) == d
。
我三次阅读这个问题和其他答案,并不相信没有人给出这个答案。当我看到您的尝试时即将开始输入;-) – GhostCat
是否有任何理由与此[代码](https://pastebin.com/PmhnsHhX),第二个变量有一个未解决的参考错误。我将如何解决这个问题? –
在Kotlin中,我宁愿写'a.rem(b)'而不是'a%b'。这使得代码更具可读性 –
只要'i'被转换成'Int'类型,它将成为'Int',你不能用'Double'等来分割'Int'等等 - 我应该加上I don'在Kotlin方面有很多经验,就像一两个简单的“项目”在一两周前一起玩,但大多数所有强类型语言都是如此。 –