У меня есть экземпляр NSNumberFormatter, подобный этому:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setAlwaysShowsDecimalSeparator:NO];
[formatter setAllowsFloats:YES];
[formatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[formatter setMinimumFractionDigits:0];
[formatter setNumberStyle:kCFNumberFormatterDecimalStyle];
Затем я предоставляю значение, подобное этому, и печатаю его:
NSNumber *number = [NSNumber numberWithFloat:4932.79661];
NSLog(@"%@", [formatter stringFromNumber:number]);
Что я получаю:
4,932.796
пропущено 2 цифры. Теперь странная вещь: если я сделаю число намного больше, то есть 49328324.79661, я получу только 2 дробных цифры. Есть идеи, что может быть не так с форматером? Должен ли я явно указать, чтобы он использовал определенную точность?