我有一个奇怪的困境,我似乎无法解决这个问题,并且在试图解决这个问题时需要一些外部帮助。我有一个从文本框中读取的 NSString 值,并将其转换为 NSNumber。这很好用,我得到了我的价值。然后我取我的新数字,我想将它与一个由 4 个浮点数组成的数组进行比较。然而,当我尝试比较时,我从来没有得到正确的结果,这就是我把头发拉出来的地方。下面是一小段代码,解释了我的情况:
// THE FIRST IF STATEMENT IS WHAT GETS SELECTED
// newValue = 0.93
// colorRange = {0.10, 0.20, 0.80, 0.90 }
NSNumberFormatter *format = [[NSNumberFormatter alloc] init];
[format setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *newValue = [format numberFromString:value];
[format release];
if (newValue < [colorRange objectAtIndex:0]) {
// Red background
selectedButton.backgroundColor = [UIColor redColor];
}
else if (newValue > [colorRange objectAtIndex:0] && newValue < [colorRange objectAtIndex:1]) {
// White background
selectedButton.backgroundColor = [UIColor whiteColor];
}
else if (newValue > [colorRange objectAtIndex:1] && newValue < [colorRange objectAtIndex:2]) {
// Black background
selectedButton.backgroundColor = [UIColor blackColor];
}
else if (newValue > [colorRange objectAtIndex:2] && newValue < [colorRange objectAtIndex:3]) {
// Blue background
selectedButton.backgroundColor = [UIColor blueColor];
}
else {
// Green background
selectedButton.backgroundColor = [UIColor greenColor];
}
我想要做的是查看我的输入值在我的百分比范围内的位置,并根据该信息选择一种颜色。如果有更优化的方法,请告诉我。