Ich versuche NSNumberFormatter
zu verwenden, um eine Zahl auf 5 Dezimalstellen in einer iPhone-App zu runden, aber [formatter stringFromNumber:]
gibt immer Zeichenfolgen auf 0,001 (3 Dezimalstellen) gerundet zurück. Was mache ich falsch?NSNumberFormatter rundet nur auf 3 Dezimalstellen
formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setRoundingMode:NSNumberFormatterRoundHalfUp];
[formatter setSecondaryGroupingSize:3];
[formatter setRoundingIncrement:[NSNumber numberWithDouble:0.00001]];
Ich denke, das ist, was ich gesucht habe. Danke vielmals. – ChadK
Danke Nathan! Ich muss etwas beim Lesen der Dokumente verpassen, aber wie unterscheiden sich diese von setMaximumSignificantDigits: und setMinimumSignificantDigits: (abgesehen von dem Wort Significant)? –
Bruchzahlen sind Zahlen nach der Dezimalstelle. Signifikante Ziffern sind die Gesamtpräzision der Zahl. Also 12,345 hat 5 signifikante Ziffern und 3 Bruchzahlen. Während 0,0012 2 signifikante Ziffern und 4 Bruchstellen hat. set (min/max) SignificantDigits: sind nützlich für wissenschaftliche Ausgabe: 123000 wäre 1.23E5 mit 3 signifikanten Ziffern. –