Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone NSString格式_Iphone_Objective C_Nsstring - Fatal编程技术网

Iphone NSString格式

Iphone NSString格式,iphone,objective-c,nsstring,Iphone,Objective C,Nsstring,我有一个从数组中获取的NSString。数组中有多个字符串对象。我想更改从数组中获取的字符串的格式,并在UILabel上显示新的格式化字符串。让我举一个例子: 数组中的字符串:539000 要显示的字符串:5.390.00 现在的问题是,我从数组中得到的字符串可能是539000、14200或9050。所以我想得到的字符串是:5.390.00,142.00,90.50 正确的格式是将****放在最后两位数字之前,再次将****放在第一位的3位数字之前****尝试下面的代码,这样会有所帮助 目标-C

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

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

现在的问题是,我从数组中得到的字符串可能是539000142009050。所以我想得到的字符串是:5.390.00142.0090.50


正确的格式是将
****
放在最后两位数字之前,再次将
****
放在第一位的3位数字之前
****

尝试下面的代码,这样会有所帮助

目标-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