这可能是一个简单的答案...检查一个数字是否包含四位数以上的最快算法是什么?我正在尝试创建一个if-then语句。如果数字x包含4位以上,那么......
答案 0 :(得分:2)
所以,我不确定这是否真的像听起来那样超级基本,但这里有一些可能会有所帮助的想法:
假设它是一个整数,你可以简单地测试它是10,000或更高(或-10,000或更低)?
if (abs(numberToTest) > 9999) {
// Number has 4 or more digits
} else {
// Number has 3 or fewer digits
}
或者,如果您正在处理小数值,您可以尝试这样做:
NSString *stringToTest = [NSString stringWithFormat:@"%f", numberToTest];
// If you want to exclude the decimal place from the calculation
stringToTest = [stringToTest stringByReplacingOccurrencesOfString:@"."
withString:@""];
// If you want to include a negative sign from the calculation
stringToTest = [stringToTest stringByReplacingOccurrencesOfString:@"-"
withString:@""];
if (stringToTest.length > 4) {
// String has 5 or more digits
} else {
// String has 4 or fewer digits
}
无论如何,你没有提供大量细节,但也许这解决了你的问题。
答案 1 :(得分:1)
如果它是一个int你可以减去数字减去9999并确定结果是否为正或但是我认为它比这更复杂
答案 2 :(得分:0)
是的,您可以使用if语句
if(number> 9999)
打印“我们在10000范围内”;
否则
打印“我们不到10000”;
答案 3 :(得分:0)
一行够短吗?
let moreThanFourDigits = String(yourNumber).count > 4
这里我只是将数字转换为字符串并计算字符数。