NSNumberFormatter-Decimal样式 - 格式化无限字符

时间:2011-11-09 13:00:19

标签: iphone ios xcode ipad ios-simulator

以下代码用于我要求将无限字符格式化为十进制样式。但它仅适用于最多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];

怎么办?

先谢谢 巴斯卡尔

1 个答案:

答案 0 :(得分:0)

我没有看到格式化字符串中的问题,问题可能出在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