NSDecimalNumber круглые длинные числа

Я пытаюсь заставить NSDecimalNumber печатать большие числа, 15 или более цифр. В 15 цифрах я вижу 111 111 111 111 111 111. Свыше 15 цифр я вижу 1,111,111,111,111,110, хотя форматируемое число - 1111111111111111.

Пример для иллюстрации моей проблемы:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumSignificantDigits:25];
[formatter setUsesSignificantDigits:true];

NSDecimalNumber* test = [NSDecimalNumber decimalNumberWithString:@"12345678901234567890"];

NSString* output = [formatter stringFromNumber:test]; 
NSLog( @"num value: %@", test ); 
NSLog( @"str value: %@", output );

И результат выглядит так:

2010-09-16 09:24:16.783 SimpleCalc[739:207] num value: 12345678901234567890
2010-09-16 09:24:16.784 SimpleCalc[739:207] str value: 12,345,678,901,234,600,000

Что за глупость я пропустил?

5
задан user449521 16 September 2010 в 13:29
поделиться