В моем приложении есть средство выбора с номерами с суффиксом в фунтах. Я хочу добавить поддержку для пользователя, чтобы иметь возможность использовать килограммы вместо.
Поэтому я попытался использовать это:
NSNumber *weightInPounds = [pickerArray objectAtIndex:row];
NSNumber *weightInKilos = [[DDUnitConverter massUnitConverter] convertNumber: weightInPounds fromUnit: DDMassUnitUSPounds toUnit: DDMassUnitKilograms];
float roundedValue = round(2.0f * [weightInKilos floatValue]) / 2.0f;
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:1];
[formatter setRoundingMode: NSNumberFormatterRoundDown];
NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithFloat:roundedValue]];
label.text = numberString;
[formatter release];
Используя этот код, он округляется до ближайшего .5 или .0. Проблема в том, что приращения не согласованы. Это не 1, 1,5, 2, 2,5, 3 и т. Д. Это больше похоже на 1, 2, 3,5, 4,5, 5 и т. Д. Я думаю, это потому, что, когда фунты преобразуются в килограммы, это происходит из. Но я не думаю, что пользователь захочет, чтобы цифры отображались таким образом. Кажется, что они хотели бы нормальные приращения на 0,5 кг. Кто-нибудь знает, как я могу это исправить?