以下代码用于我要求将无限字符格式化为十进制样式。但它仅适用于最多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];
怎么办?
先谢谢 巴斯卡尔
答案 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
。