检查位数

时间:2014-03-09 03:25:02

标签: ios digits

这可能是一个简单的答案...检查一个数字是否包含四位数以上的最快算法是什么?我正在尝试创建一个if-then语句。如果数字x包含4位以上,那么......

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

这里我只是将数字转换为字符串并计算字符数。