如何知道浮点数是否有小数

时间:2011-09-07 13:40:25

标签: iphone ios

我正在为教室构建一个简单的计算器,这是显示结果的代码:

- (void)doTheMathForPlus:(float)val {
    float conto = self.contBox + val;
    self.myDisplay.text = [NSString stringWithFormat:@"%.02f", conto];
}

我需要知道“conto”是否有小数(以改变if语句中字符串的格式)

怎么做?

感谢

3 个答案:

答案 0 :(得分:9)

if (conto == (int)conto) {


}

希望这有帮助。

答案 1 :(得分:3)

您最好使用#define将其换行并将此行放在.pch文件中

#define HAS_DECIMALS(x) (x!=(int)x)

比在代码中的任何地方使用:

if (HAS_DECIMALS(conto)) {
    //number has decimals 
} else {
    //number does not have decimals
}

答案 2 :(得分:1)

是的,dredful对他的回答是正确的。 而且,您还可以使用不同的功能,如地板,天花板,圆形。在你的情况下更好“地板(conto)”。

但是,你不能像Kyr Dunenkoff建议的那样做。因为,“%”的所有操作数都应该是整数,但不能浮动为“conto”。