0

我正在尝试检查浮点变量的长度(以数字为单位),但我不知道要使用的正确语法。我已经查过了,我找不到答案。

我的代码是一个简单的 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

4 回答 4

2
#include <math.h>

//...

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

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

于 2012-07-06T17:07:05.013 回答
2

因为似乎没有正确的答案:

int digits = (int) ceil(log10(currentNumber));
于 2012-07-06T17:15:23.650 回答
0

你可以用你的值创建一个 NSString 并检查它的长度:

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

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

这是文档的参考,NSString因此您可以检查这些方法的作用,以防您不理解它们。

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

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

然后在程序的条件中使用这个值。

于 2012-07-06T17:05:56.430 回答
0
int digits = [[NSString stringWithFormat:@"%g", variable] length]
于 2012-07-06T17:06:14.833 回答