每三位数的空间

Osc*_*and 1 objective-c ios

如何在结果字符串中每3位数字得到一个简单的逗号?

代码如下:

float convertFrom = [[_convertRates objectAtIndex:[picker selectedRowInComponent:0]]     floatValue];

float convertTo = [[_convertRates objectAtIndex:[picker selectedRowInComponent:1]] floatValue];

float input = [inputText.text floatValue];
float to = convertTo;
float from = convertFrom;

float convertValue = input;
float relative = to / from;
float result = relative * convertValue;

NSString *convertFromName = [_convertFrom objectAtIndex:[picker selectedRowInComponent:0]];
NSString *convertToName = [_convertFrom objectAtIndex:[picker selectedRowInComponent:1]];



NSString *resultString = [[NSString alloc]initWithFormat:
                          @" %.4f %@",result, convertToName];


resultLabel.text = resultString;

NSString *formelString = [[NSString alloc]initWithFormat:
                          @" %.4f %@=", convertValue, convertFromName];
formelLabel.text = formelString;
Run Code Online (Sandbox Code Playgroud)

此代码生成大量数字,显示在文本块中,这不是最实用的数据使用方式.如何在此代码中实现逗号?

例如,1234567将是1 234 5671'234'567.

rma*_*ddy 5

使用NSNumberFormatter.

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;

NSString *formattedString = [formatter stringFromNumber:someNumberValue];
Run Code Online (Sandbox Code Playgroud)

其中someNumberValue是带有数字的NSNumber对象.

这将为用户选择的区域格式正确格式化数字.

如果需要,您可以控制小数点后的位数.有关NSNumberFormatter详细信息,请参阅文档.