Получил большой NSDecimal
с высокой точностью.Например:
NSString *decStr = @"999999999999.999999999999";
NSDecimal dec;
NSScanner *scanner = [[NSScanner alloc] initWithString:decStr];
[scanner scanDecimal:&dec];
NSDecimalNumber *decNum = [[NSDecimalNumber alloc] initWithDecimal:*dec];
Я могу легко получить строковое представление моего NSDecimal
с помощью этого:
NSString *output = [decNum stringValue];
Или
NSString *output = [decNum descriptionWithLocale:nil];
Но оно никогда не форматируетсяправильно для вывода на экран:
output = 999999999999.999999999999
Я хочу, чтобы у него было разделение на группы, например 999,999,999,999.999999999999
Итак, я попробовал NSNumberFormatter
:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setAllowsFloats:YES];
[formatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[formatter setNumberStyle:kCFNumberFormatterDecimalStyle];
NSString *output = [formatter stringFromNumber:resultDecNum];
Это заканчиваетсяс этим:
output = 1,000,000,000,000
Есть ли способ получить большую высокую точность NSDecimal
, правильно отформатированную на основе языкового стандарта пользователя без потери точности?