5 Stimmen

NSDecimalNumber Runde lange Zahlen

Ich versuche, NSDecimalNumber dazu zu bringen, große Zahlen auszudrucken, 15 oder mehr Ziffern. Bei 15 Ziffern sehe ich 111,111,111,111,111. Bei mehr als 15 Ziffern sehe ich 1,111,111,111,111,110, obwohl die formatierte Zahl 111111111111111111 ist.

Ein Beispiel zur Veranschaulichung meines Problems:

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 );

Und die Ausgabe sieht so aus:

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

Welche dumme Sache habe ich übersehen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X