NSString格式

时间:2011-09-09 05:07:49

标签: iphone objective-c nsstring

我从阵列中得到NSString。数组中有多个字符串对象。我想更改从数组中获取的字符串的格式,并在UILabel上显示新的格式化字符串。让我举个例子:

数组中的字符串: 539000
我要显示的字符串: 5.390.00

现在问题是我从数组中得到的字符串可能是 539000 14200 9050 。所以我想得到的字符串是: 5.390.00 142.00 90.50

正确的格式是在最后两位数之前放置**.**,再次在**.**的3位数之前放置**.**

1 个答案:

答案 0 :(得分:16)

尝试使用以下代码

<强>目标C

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
[formatter setGroupingSeparator:@"."];
[formatter setGroupingSize:2];
[formatter setUsesGroupingSeparator:YES];
[formatter setSecondaryGroupingSize:3];

NSString *input = @"539000";
NSString *output = [formatter stringFromNumber:[NSNumber numberWithDouble:[input doubleValue]]];
NSLog(@"output :: %@",output);// output :: 5.390.00 

<强> Swift3

let formatter = NumberFormatter()
    formatter.groupingSeparator = "."
    formatter.groupingSize = 2
    formatter.usesGroupingSeparator = true
    formatter.secondaryGroupingSize = 3

    let input = 539000
    let output = formatter.string(from: NSNumber.init(value: input))
    print("output :: \(output!)")// output :: 5.390.00