我正在尝试检查浮点变量的长度(以数字为单位),但我不知道要使用的正确语法。我已经查过了,我找不到答案。
我的代码是一个简单的 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
}
我正在尝试检查浮点变量的长度(以数字为单位),但我不知道要使用的正确语法。我已经查过了,我找不到答案。
我的代码是一个简单的 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
}
#include <math.h>
//...
int digits = (int) ceil(log10(number));
负数的额外逻辑留给读者作为练习。
因为似乎没有正确的答案:
int digits = (int) ceil(log10(currentNumber));
你可以用你的值创建一个 NSString 并检查它的长度:
NSString *stringNumber = [NSString stringWithFormat:@"%g", currentValue];
int length = stringNumber.length
您可能可以从长度中减去 1 来考虑小数点。
这是文档的参考,NSString
因此您可以检查这些方法的作用,以防您不理解它们。
编辑:如果你想要小数点之前的数字,你可以在我发布之后这样做:
[stringNumber substringToIndex:[stringNumber rangeOfString:@"."].location].length
然后在程序的条件中使用这个值。
int digits = [[NSString stringWithFormat:@"%g", variable] length]