Нет, нет способа настроить его для этого.
В «режиме 10.4» NSNumberFormatter в основном просто обертывает CFNumberFormatter (хотя это не прямая бесплатная обертка с мостом). Вы можете взглянуть на список ключей свойств Number Formatter, и становится совершенно ясно, что нет ничего, что могло бы делать то, что вы хотите. (Возможно, это возможно в режиме «10.0»; потребуется немного проб и ошибок, чтобы выяснить это. Но я сомневаюсь, что вы захотите его использовать.)
Так что предварительное округление (как предлагает Джастин Бу), вероятно, ваш лучший вариант.
Вместо этого вы, конечно, можете использовать постобработку. То, что именно вы хотите сделать, вероятно, зависит от того, хотите ли вы отображать -0.00 как 0.00, что вы хотите сделать для локализаций, которые не используют «-0» и т. д. Самый простой случай будет таким же простым, как этот:
@interface NSNumberFormatter (NegativeZero)
- (NSString *)stringFromNumberNoNegativeZero:(NSNumber *)number;
@end
@implementation NSNumberFormatter (NegativeZero)
- (NSString *)stringFromNumberNoNegativeZero:(NSNumber *)number {
NSString *s = [self stringFromNumber:number];
if ([s isEqualToString:@"-0"]) return @"0";
return s;
}
@end
Но если вы хотите что-то более сложное, это будет сложнее.
person
abarnert
schedule
31.05.2012