检查计算的输出是否是整数

什么是检查计算输出是整数的方法? 我试过这样做:

if ((i / 3) is Int ) { print("Whole Number") } 

但它似乎在检查variables的types,而不是输出是什么。


编辑:显然,如果variables是一个整数,它会自动舍入操作的输出,所以我不得不做这样的事情:

  if((i.toFloat()/3) == (i / 3).toFloat()){ println("Whole Number") 

检查a / b是否为整数的简单方法是检查余数是否为零: a % b == 0

但是请注意,如果两个操作数都是整型( ShortIntLong ),那么除法结果总是一个整数(小数部分刚刚被丢弃),所以如果有val i: Int = 2然后i % 3 == 1但是i / 3 == 0 。 要使用小数除法,至少要使其中一个小数像i / 3.0i.toDouble / 3

如果你想检查Double是否完整,你可以使用d % 1.0 == 0.0或者检查Math.floor(d) == d

is Kotlin is运算符是用来检查对象的实例。

这里你写的(i / 3) is Int意思是:

你正在检查(I / 3)是否是一个Int实例。

在Kotlin中,你必须写下面的代码来检查一个数字是否是一个整数。

如果是一个整数

 if((i / 3).toInt() == (i / 3)) { print("Whole Number") } 

否则你也可以使用下面的代码:

 if((i / 3).toInt().compareTo(i / 3) == 0) { print("Whole Number") } 

在不知道计算types的情况下检查Double是否是整数的一种方法(这不仅仅是除法),将减去整数部分以得到小数部分并且比较为零:

 fun isWhole(value: Double):Boolean { return value - value.toInt() == 0.0 }