检查计算的输出是否是整数
什么是检查计算输出是整数的方法? 我试过这样做:
if ((i / 3) is Int ) { print("Whole Number") }
但它似乎在检查变量的类型,而不是输出是什么。
编辑:显然,如果变量是一个整数,它会自动舍入操作的输出,所以我不得不做这样的事情:
if((i.toFloat()/3) == (i / 3).toFloat()){ println("Whole Number")
检查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
。
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") }
在不知道计算类型的情况下检查Double
是否是整数的一种方法(这不仅仅是除法),将减去整数部分以得到小数部分并且比较为零:
fun isWhole(value: Double):Boolean { return value - value.toInt() == 0.0 }