Возникли проблемы при преобразовании фунтов в килограммы - PullRequest
0 голосов
/ 15 июня 2011

В моем приложении есть средство выбора с номерами с суффиксом в фунтах. Я хочу добавить поддержку для пользователя, чтобы иметь возможность использовать килограммы вместо. Поэтому я попытался использовать это:

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 кг. Кто-нибудь знает, как я могу это исправить?

1 Ответ

3 голосов
/ 15 июня 2011

Кажется, вы основываете все свои расчеты на ряду сборщика. Если вы хотите сделать это так, чтобы ряд 1 сборщика веса был таким же, как и вес 1 ряда сборщика, то у вас не будет другого выбора, кроме как иметь его таким образом. Лучшее решение - заставить колесо вращаться от 0 до 300 без меток. Поместите ярлык где-нибудь еще (возможно, как второе колесо подборщика рядом с ним или где-нибудь в качестве переключателя). Затем вы можете получить значение для веса и значение для единиц и сделать правильные вещи.

Еще лучше, вы можете определить языковой стандарт для пользователя и автоматически установить единицы измерения для него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...