如何检查数字是否为小数?
使用Objective-C:
if (number == (int) number) { //decimal } else { //not decimal }
如果将数字四舍五入(可以使用下限功能来完成),然后从原始数字中减去该数字,则会得到两者之间的差。
if (number - floor(number) > 0.000001) { // 0.000001 can be changed depending on the level of precision you need // decimal }
编辑-
我的原始答案建议计算数字与其下限等值之间的差,以查看小数点后是否有任何单位。但是,如后面所述,可能存在舍入错误,这会导致内存中值的表示与实际含义略有不同。
例如,3.0可以表示为3.00000000000001,因此number - floor(number) > 0即使理论上它应该返回false,因为偏移量为0.00000000000001,也将返回true。
number - floor(number) > 0
因此,请使用下面的@jessy答案。