de formatage très grandes, des chiffres précis que je fais:en utilisant NSNumberFormatter avec NSDecimalNumberHandler en tant que test rapide iphone sdk
(number is a synthesized NSDecimalNumber...) number = [[NSDecimalNumber alloc] initWithDecimal:[[NSDecimalNumber numberWithDouble:420000008698643507200000.0F] decimalValue]]; DLog(@"unformatted: %@", [number stringValue]);
qui me donne: "non formatée: 420000008698643507200000"
mais quand je essayez de le formater via NSNumberFormatter
, il est tout à fait hors ... chemin arrondi vers le haut ou quelque chose ...
numFormatter = [[NSNumberFormatter alloc] init]; [numFormatter setNumberStyle:kCFNumberFormatterDecimalStyle]; [numFormatter setRoundingMode:kCFNumberFormatterRoundDown]; [numFormatter setMaximum:nil]; DLog(@"formatted: %@", [numFormatter stringFromNumber:number]);
me donne: « formaté: 420.000.008.698.644.000.000.000 »
J'espère qu'il ya une propriété magique NSNumberFormatter
secrète que je ne vois pas, mais j'ai essayé setUsesSignificantDigits
et setMaximumSignificantDigits
, mais cela ne semble pas fonctionner.
quelqu'un a des idées? merci beaucoup!