检查浮子的长度

时间:2012-07-06 17:02:32

标签: objective-c ios xcode

我正在尝试检查float变量的长度,但是我不知道要使用的正确语法。我看了这个,我找不到答案。

我的代码是一个简单的if语句:

if (currentNumber.digits < 3) {  //If the number has less that three digits, I don't know what to put here to get it working

    //code
}

4 个答案:

答案 0 :(得分:2)

#include <math.h>

//...

int digits = (int) ceil(log10(number));

负数的额外逻辑留给读者练习。

答案 1 :(得分:2)

因为似乎没有正确答案:

int digits = (int) ceil(log10(currentNumber));

答案 2 :(得分:0)

您可以使用您的值制作NSString并检查其长度:

NSString *stringNumber = [NSString stringWithFormat:@"%g", currentValue];
int length = stringNumber.length

您可以从长度中减去1以考虑小数点。

Here's NSString文档的参考,以便您可以检查方法的作用,以防您不理解。

编辑:如果你想要小数点前面的数字,你可以在我发布之后做到这一点:

[stringNumber substringToIndex:[stringNumber rangeOfString:@"."].location].length

然后在程序的条件下使用此值。

答案 3 :(得分:0)

int digits = [[NSString stringWithFormat:@"%g", variable] length]