Estoy tratando de obtener NSDecimalNumber para imprimir números grandes, 15 o más dígitos. En 15 dígitos veo 111,111,111,111,111. Por encima de 15 dígitos que veo 1.111.111.111.111.110 pesar de que el número que se está formateado es 1111111111111111.NSDecimalNumber redondo números largos
Un ejemplo para ilustrar mi problema:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumSignificantDigits:25];
[formatter setUsesSignificantDigits:true];
NSDecimalNumber* test = [NSDecimalNumber decimalNumberWithString:@"123456789"];
NSString* output = [formatter stringFromNumber:test];
NSLog(@"num value: %@", test);
NSLog(@"str value: %@", output);
Y la salida será similar a:
2010-09-16 09:24:16.783 SimpleCalc[739:207] num value: 123456789
2010-09-16 09:24:16.784 SimpleCalc[739:207] str value: 12,345,678,901,234,600,000
Qué disparate tener ¿Extrañé?