NSNumberFormatter-Decimal Style-To форматировать неограниченное количество символов - PullRequest
1 голос
/ 09 ноября 2011

Приведенный ниже код используется для моего требования, чтобы неограниченное количество символов форматировалось в десятичный стиль. Но оно работает только до 18 цифр,

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];    

[formatter setNumberStyle:NSNumberFormatterDecimalStyle];

long long num =  [textField.text longLongValue];

NSString *formattedOutput = [formatter stringFromNumber:[NSNumber numberWithLongLong:num]];

textField.text = formattedOutput;

[formatter release];

Что делать?

Спасибо заранее Bhaskar

1 Ответ

0 голосов
/ 09 ноября 2011

Я не вижу проблемы в отформатированной строке, проблема может быть в textField.

Пример:

long long maxLongLong = 0x7fffffffffffffff;
NSLog(@"maxLongLong: %llu", maxLongLong);

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];    
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSString *formattedOutput = [formatter stringFromNumber:[NSNumber numberWithLongLong:maxLongLong]];
NSLog(@"formattedOutput: %@", formattedOutput);

NSLog выход:

maxLongLong: 9223372036854775807
formattedOutput: 9,223,372,036,854,775,807

Однако NSNumberFormatter, похоже, не работает с unsigned long long.

...